vxug-VXAPI/VX-API/CreateThreadAndWaitForCompl...

18 lines
452 B
C++

#include "Win32Helper.h"
DWORD CreateThreadAndWaitForCompletion(_In_ LPTHREAD_START_ROUTINE StartAddress, _In_ LPVOID Parameters, _In_ DWORD dwMilliseconds)
{
HANDLE hThread = NULL;
DWORD ExitCode = ERROR_SUCCESS;
hThread = CreateThread(NULL, 0, StartAddress, Parameters, 0, NULL);
if (hThread == NULL)
return FALSE;
WaitForSingleObject(hThread, dwMilliseconds);
if (!GetExitCodeThread(hThread, &ExitCode))
return -1;
return ExitCode;
}