关于_beginthreadex传递指针参数的问题
平庸老鱼 2014-06-23 02:52:50 在调用StarT里面,用_beginthreadex启动计算线程时, 传入的参数是一个stuSendValue类型结构体 的地址,
void WINAPI StartT(char * strpath, HWND interfacehandle )
{
stuSendValue sendvalue;
sendvalue.strDatabasePath = strpath;
sendvalue.hWndInterface = interfacehandle;
hThread = (HANDLE)_beginthreadex( NULL, 0, &ThreadAnalysisCalculate, &sendvalue, 0, &threadID );
}
static unsigned __stdcall ThreadAnalysisCalculate(void * pParam)
{
//强制转换类型
stuSendValue *pValue = (stuSendValue*)pParam;
//stuSendValue *pValue = &pParam;
TRACE("拆开路径是:%s\n",pValue->strDatabasePath);
TRACE("拆开句柄是:%s\n",pValue->hWndInterface);
}
结果在进行强制类型转换时, 出现了错误,pValue->strDatabasePath = 0xcccccccc <错误的指针>,
请问有谁知道是什么原因吗?
btw: 直接定义一个stuSendValue指针传进去也是同样的错误。