HANDLE CreateThread(

LPSECURITY_ATTRIBUTES lpThreadAttributes,

SIZE_T dwStackSize,

LPTHREAD_START_ROUTINE lpStartAddress,

__drv_aliasesMem LPVOID lpParameter,

DWORD dwCreationFlags,

LPDWORD lpThreadId

);

参数

lpThreadAttributes

指向SECURITY_ATTRIBUTES 结构的指针,该结构确定子进程是否可以继承返回的句柄。如果 lpThreadAttributes为NULL,则无法继承句柄。

结构的lpSecurityDescriptor成员为新线程指定安全描述符。如果lpThreadAttributes为NULL,则线程获取默认安全描述符。线程的默认安全描述符中的ACL来自创建者的主要标志。

dwStackSize

堆栈的初始大小,以字节为单位。系统将此值四舍五入到最近的页面。如果此参数为零,则新线程使用可执行文件的默认大小。有关更多信息,请参阅线程堆栈大小。

lpStartAddress

指向由线程执行的应用程序定义函数的指针。该指针表示线程的起始地址。有关线程函数的更多信息,请参见 ThreadProc

lpParameter

指向要传递给线程的变量的指针。

dwCreationFlags

控制线程创建的标志。

0 :该线程在创建后立即运行。

CREATE_SUSPENDEDs 0x00000004: 线程是在挂起状态下创建的,并且在调用ResumeThread函数之前不会运行 。

STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000:在 所述dwStackSize参数指定堆栈的初始保留大小。如果未指定此标志,则dwStackSize指定提交大小。

lpThreadId

指向接收线程标识符的变量的指针。如果此参数为 NULL,则不返回线程标识符

返回值

如果函数成功,则返回值是新线程的句柄。

如果函数失败,则返回值为NULL。要获取扩展错误信息,请调用 GetLastError。

请注意,即使lpStartAddress指向数据,代码或无法访问,CreateThread也可能成功 。如果线程运行时起始地址无效,则发生异常,并且线程终止。由于无效的起始地址导致的线程终止被视为线程进程的错误退出。此行为类似于CreateProcess的异步特性,即使它引用无效或缺少动态链接库(DLL),也会创建该进程。

winapi里的createthread函数 和linux,Windows API---CreateThread函数相关推荐

  1. 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程

    标 题: [原创]使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程. 作 者: shayi 时 间: 2015-02-12,05:19:54 链 ...

  2. 案例一: 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程。 首先用文本编辑器写一个C++源程序名为StackFrame.cpp ,代码如下:

    案例一: 使用IDA PRO+OllyDbg+PEview 追踪windows API 动态链接库函数的调用过程. 首先用文本编辑器写一个C++源程序名为StackFrame.cpp ,代码如下: 1 ...

  3. Windows Api常用函数大全

    1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接  WNetAddConnection2 创建同一个网络资源的连接  WNetAddConnection3 创 ...

  4. linux内核函数kmalloc,Linux内核内存分配函数之devm_kmalloc和devm_kzalloc

    本文介绍Linux内核内存分配函数devm_kmalloc()和devm_kzalloc(). 一.devm_kmalloc 文件:drivers/base/devres.c,定义如下: /** * ...

  5. linux内核时间函数us,Linux上系统时间函数、DST等相关有关问题总结

    http://www.reader8.cn/jiaocheng/20120910/1995886.html 2012 Linux下系统时间函数.DST等相关问题总结1. 内核中时间的基本类型:在Lin ...

  6. linux windows c system 函数简介

    windows 在windows下的system函数中命令可以不区别大小写!  功 能: 发出一个DOS命令 #include <stdlib.h>int system(char *com ...

  7. C++使用Windows API CreateMutex函数多线程编程

    C++中也可以使用Windows 系统中对应的API函数进行多线程编程.使用CreateThread函数创建线程,并且可以通过CreateMutex创建一个互斥量实现线程间数据的同步: #includ ...

  8. c调用python函数_python - Linux C调用Python 函数

    1.Python脚本,名称为py_add.py def add(a=,b=): print('Function of python called!') print('a = ',a) print('b ...

  9. Windows API——TextOut()函数学习

    1.函数功能 The TextOut function writes a character string at the specified location, using the currently ...

最新文章

  1. 【前端】纯前端的一个‘喜欢我吗?’
  2. fasta和fastq格式文件的shell小练习 http://www.bio-info-trainee.com/3575.html
  3. CentOS7.2基于LNMP+WordPress离线安装
  4. python os.system返回值_python os.system()返回值判断
  5. VC++6.0出现no compile tool is associated with the extension.解决方法
  6. H3C 路由器配置console密码登录[学习]
  7. 在C/C++代码中使用SSE等指令集的指令(1)介绍
  8. php jquery validate remote,jquery插件validate里面的remote参数用法
  9. Java笔记-spring-rabbitmq中queue设置argument(添加x-message-ttl)
  10. 安装Debian7后遇到的问题与解决办法
  11. 如何用 30 天入门年薪 30 万的技术领域?
  12. mysql innodbdatahomedir_mysql gtid复制
  13. 性能提升160%,为全球提供顶级算力:阿里云发布第三代神龙云服务器
  14. boost::unorder_map如何插入元素_「leetcode」701. 二叉搜索树中的插入操作:【递归法】【迭代法】详解...
  15. android qq输入法表情,QQ输入法(Android)4.8 表情进行时
  16. uniapp调用芯烨xprinter打印机安卓sdk
  17. Redis使用pipeline批量查询所有键值对以及multiGet用法
  18. 往VS项目中添加本地图片资源
  19. SqlServer2005使用top 100 PERCENT 无法排序的问题
  20. apicloud 开发app 引用vue+element_ui的方法

热门文章

  1. [USACO06NOV]玉米田Corn Fields (状压$dp$)
  2. RectTransformUtility.ScreenPointToWorldPointInRectangle使用说明
  3. [笔记][随笔]近期小结
  4. 57-Insert Interval
  5. 【javascript】基于javascript的小时钟
  6. 在vSphere Client使用模板部署虚拟机 系统硬盘空间扩展
  7. Ajax 滚动异步加载数据
  8. iOS传感器开发——为APP添加手机密码、指纹进行安全验证
  9. Android之SwipeRefreshLayout下拉刷新组件
  10. Kafka和Unix管道的示例