www.pudn.com > ThreadPoolcw.rar > ThreadTask.cpp


#include "ThreadTask.h" 
#include "ThreadPool.h" 
#include "..\CommonInc\SSLog.h" 
 
static TCHAR * LogType = _TEXT("ThreadTask"); 
 
_TP_DLL_EXPORT CThreadTask::CThreadTask(void){ 
	m_PerHandle.pTask = this; 
} 
 
_TP_DLL_EXPORT CThreadTask::~CThreadTask(void){ 
} 
 
_TP_DLL_EXPORT HRESULT CThreadTask::Begin(){ 
	memset(&m_IoData,0,sizeof(OVERLAPPED)); 
	m_IoData.iIo_Type = IO_TYPE_ADDJOB; 
	if (PostQueuedCompletionStatus(g_hIocp,1,(DWORD)&m_PerHandle,&(m_IoData.ov))) { 
		return 0; 
	}else{ 
		Debug1(LogType,_TEXT("PostQueuedCompletionStatus Fail OSErr == %d"),GetLastError()); 
		return 1; 
	} 
} 
 
_TP_DLL_EXPORT HRESULT CThreadTask::Run(){ 
	return 0; 
} 
 
_TP_DLL_EXPORT HRESULT CThreadTask::OnEnd(){ 
	return 0; 
}