60 const int nRet = ((
CThreadBase *) pParameter)->_ThreadMethod();
61 ((
CThreadBase *) pParameter)->m_bCompletelyDone =
true;
62 return (
unsigned long) nRet;
72 m_hThreadHandle = NULL;
73 m_hFinishedEvent = NULL;
86 void CWindowsThread::_Start()
91 m_hThreadHandle = CreateThread(NULL, 0,
ThreadRoutine,
this, 0, NULL);
92 m_hFinishedEvent = CreateEvent(0, FALSE, FALSE, 0);
95 void CWindowsThread::_Stop()
103 CloseHandle(m_hThreadHandle);
104 CloseHandle(m_hFinishedEvent);
106 m_hThreadHandle = NULL;
107 m_hFinishedEvent = NULL;
110 void CWindowsThread::ThreadMethodFinished()
112 if (m_hFinishedEvent)
113 SetEvent(m_hFinishedEvent);
unsigned long __stdcall ThreadRoutine(void *pParameter)