繁体   English   中英

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

[英]I am getting error in c++ 'PTHREAD_START_ROUTINE' was not declared in this scope

我收到错误消息,说 \\dll\\dll.cpp|206|error: '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);

线程过程的 typedef 名称是LPTHREAD_START_ROUTINE

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM