CreateThread函数的多个参数

时间:2012-05-15 11:51:23

标签: c++ createthread

当我使用CreateThread API方法时,我需要做什么 传递LPVOID lpParameter传递的多个参数?

2 个答案:

答案 0 :(得分:8)

您可以创建一个包含所有相关数据的结构,并将指向该结构实例的指针(填充适当的参数)传递给CreateThread()

在你的线程创建函数中,你需要将LPVOID强制转换为指向你的结构的指针才能使用它。

答案 1 :(得分:5)

将这些参数放入一个在堆上分配的结构中,并在LPVOID参数中传递结构的地址。然后,您的线程函数可以将LPVOID转换为指向struct的指针并读出参数。

将它放在堆上是很重要的,因为如果将它放在调用CreateThread的线程的堆栈上,则在线程过程尝试访问它时它可能无效。