#pragma once #include "WorkThreadPool.h" class CPriorityThreadData : public CWorkThreadData { public: CPriorityThreadData(PVOID pPtr) : CWorkThreadData(pPtr) { m_unMsg = 0; m_WParam = NULL; m_LParam = NULL; } virtual ~CPriorityThreadData() { } UINT m_unMsg; WPARAM m_WParam; LPARAM m_LParam; }; interface IPriorityThread2Parent { virtual void IPT2P_PriorityThread(CPriorityThreadData* pData) = 0; }; class CPriorityThread : public CWorkThreadPool { public: CPriorityThread(IPriorityThread2Parent* pFT2P, int nPriority); virtual ~CPriorityThread(void); BOOL AddPriorityThreadData(UINT msg, WPARAM wParam = NULL, LPARAM lParam = NULL); protected: virtual void WorkThreadProcess(PVOID pParameter); protected: IPriorityThread2Parent* m_pPT2P; int m_nPriority; };