64 lines
1.3 KiB
C
64 lines
1.3 KiB
C
|
|
#ifndef WH_THREAD_HEAD_FILE
|
|||
|
|
#define WH_THREAD_HEAD_FILE
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "ServiceCoreHead.h"
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F>̶߳<DFB3><CCB6><EFBFBD>
|
|||
|
|
class SERVICE_CORE_CLASS CWHThread
|
|||
|
|
{
|
|||
|
|
//״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
|
private:
|
|||
|
|
volatile bool m_bRun; //<2F><><EFBFBD>б<EFBFBD>־
|
|||
|
|
|
|||
|
|
//<2F>̱߳<DFB3><CCB1><EFBFBD>
|
|||
|
|
private:
|
|||
|
|
UINT m_uThreadID; //<2F>̱߳<DFB3>ʶ
|
|||
|
|
HANDLE m_hThreadHandle; //<2F>߳̾<DFB3><CCBE><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
CWHThread();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual ~CWHThread();
|
|||
|
|
|
|||
|
|
//<2F>ӿں<D3BF><DABA><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ȡ״̬
|
|||
|
|
virtual bool IsRuning();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD>
|
|||
|
|
virtual bool StartThread();
|
|||
|
|
//<2F><>ֹ<EFBFBD>߳<EFBFBD>
|
|||
|
|
virtual bool ConcludeThread(DWORD dwMillSeconds);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>̱߳<DFB3>ʶ
|
|||
|
|
UINT GetThreadID() { return m_uThreadID; }
|
|||
|
|
//<2F>߳̾<DFB3><CCBE><EFBFBD>
|
|||
|
|
HANDLE GetThreadHandle() { return m_hThreadHandle; }
|
|||
|
|
//Ͷ<><CDB6><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
LRESULT PostThreadMessage(UINT uMessage, WPARAM wParam, LPARAM lParam);
|
|||
|
|
|
|||
|
|
//<2F>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventThreadRun() { return true; }
|
|||
|
|
//<2F><>ʼ<EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventThreadStrat() { return true; }
|
|||
|
|
//<2F><>ֹ<EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventThreadConclude() { return true; }
|
|||
|
|
|
|||
|
|
//<2F>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
private:
|
|||
|
|
//<2F>̺߳<DFB3><CCBA><EFBFBD>
|
|||
|
|
static unsigned __stdcall ThreadFunction(LPVOID pThreadData);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#endif
|