|
// Worker Thread
//
#include "stdafx.h"
#include "WorkerThread.h"
DWORD WINAPI ThreadProc( LPVOID lpParameter )
{
DWORD dwExitAddress = 0;
// Sleep to allow syncronization for the Debugger
// Not required in Real Life...
Sleep( 1000 * 10 );
if( NULL == lpParameter )
{
return -2;
}
dwExitAddress = * ( reinterpret_cast< DWORD* > ( lpParameter ) );
__asm {
push RETURNAREA
push dwExitAddress
ret
}
RETURNAREA:
DWORD dwCurrentThreadID = GetCurrentThreadId();
std::tcout << _T("Exiting worker function thread ID = 0x");
HEXADECIMAL_OUTPUT(4);
std::tcout << dwCurrentThreadID << std::endl;
return 2;
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.