// UserThread.h: interface for the CUserThread class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_USERTHREAD_H__FC0FF365_445C_4226_AB34_74A641594484__INCLUDED_) #define AFX_USERTHREAD_H__FC0FF365_445C_4226_AB34_74A641594484__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 enum ThreadState { TS_STOP = 1, TS_RUN = 2 }; typedef struct _THREAD_PARAM_SET { PVOID pParam1; PVOID pParam2; PVOID pParam3; PVOID pParam4; } THREAD_PARAM_SET; typedef ULONG (__stdcall *PTHREAD_FUNC) (void *); class CUserThread { public: CUserThread(); virtual ~CUserThread(); public: BOOL StartThread(PTHREAD_FUNC pFunc, PVOID pParam1, PVOID pParam2, PVOID pParam3); void StopThread(ULONG uTime); void ReleaseHandle(); ULONG GetState() { return m_uThreadState; } HANDLE GetKillHandle() { return m_hKill; } private: THREAD_PARAM_SET m_ParamSet; ULONG m_uThreadState; HANDLE m_hThread; HANDLE m_hKill; }; #endif // !defined(AFX_USERTHREAD_H__FC0FF365_445C_4226_AB34_74A641594484__INCLUDED_)