LPVOID是一种无类型的指针,即可以将任意类型的指针赋值给LPVOID类型的变量(一般用于传参),然后在使用的时候在转换回对应类型 。
在minwindef.h中对LPVOID有定义
typedef void far *LPVOID;
其中,
void*:无类型指针,可以指向任意数据类型;
far:远指针,与内存寻址有关,调用端外变量或函数时使用。
示例:
class CMyClass
{
void Start();
static UINT StartThread(LPVOID lParam);
};
void CMyClass::Start()
{
AfxBeginThread(StartThread, this);
}
UINT CMyClass::StartThread(LPVOID lParam)
{
CMyClass * pMyClass = (CMyClass*)lParam;
...
return 0;
}