下面是一个创建线程的简单程序。我希望我失去一些明显的东西。仅供参考 - 我是Win32的新手。CreateThread()// GetLastError()返回87
为什么线程执行中的GetLastError()返回87(ERROR_INVALID_PARAMETER)?
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
long WINAPI Run();
int _tmain(int argc, _TCHAR* argv[])
{
DWORD id;
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Run, NULL, 0, &id);
// hThread is not NULL
DWORD err = GetLastError(); // returns 0
int input;
std::cin >> input;
return 0;
}
long WINAPI Run()
{
DWORD err = GetLastError(); // returns 87
return 0;
}
你应该真正使用具有正确签名的回调函数。 –