我在c ++中遇到错误'PTHREAD_START_ROUTINE'未在此范围内声明

时间:2017-10-28 21:42:49

标签: c++ c winapi

我说错了 \ dll \ dll.cpp | 206 |错误:未在此范围内声明'PTHREAD_START_ROUTINE' \ dll \ dll.cpp | 208 |错误:'pfnThreadRtn'未在此范围内声明 | 208 |错误:'pfnThreadRtn'未在此范围|

中声明

我该如何解决

char CurPath[256];
strcpy(CurPath,dllpath);
int len = (strlen(CurPath)+1)*2;
WCHAR wCurPath[256];
MultiByteToWideChar(CP_ACP,0,CurPath,-1,wCurPath,256);

pszLibFileRemote = (PWSTR)
    VirtualAllocEx(hRemoteProcess,NULL,len,MEM_COMMIT,PAGE_READWRITE);

WriteProcessMemory(hRemoteProcess,pszLibFileRemote,
                (PVOID)wCurPath,len,NULL);

PTHREAD_START_ROUTINE pfnThreadRtn = (PTHREAD_START_ROUTINE)
    GetProcAddress(GetModuleHandle(TEXT("Kernel32")), "LoadLibraryW");

hRemoteThread = CreateRemoteThread(hRemoteProcess,NULL,0,
    pfnThreadRtn,pszLibFileRemote,0,NULL);

1 个答案:

答案 0 :(得分:1)

线程过程的typedef名称为LPTHREAD_START_ROUTINE

在实际代码中,您还需要在每次函数调用后检查错误,远程进程可能随时死亡。