Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
///////////////////////////////////////////////////////////////////////////
//
// Copyright(C) 1999 Microsoft Corporation all rights reserved.
//
// Module: workerthread.h
//
// Project: Chameleon
//
// Description: Generic Worker Thread Class
//
// Log:
//
// When Who What
// ---- --- ----
// 02/08/1999 TLP Initial Version
//
///////////////////////////////////////////////////////////////////////////////
#ifndef __INC_WORKER_THREAD_H_
#define __INC_WORKER_THREAD_H_
#include "callback.h"
typedef struct _THREADINFO { bool bExit; bool bSuspended; HANDLE hWait; HANDLE hExit; HANDLE hThread; unsigned dwThreadId; DWORD dwWaitInterval; Callback* pfnCallback;
} THREADINFO, *PTHREADINFO;
///////////////////////////////////////////////////////////////////////////////
class CTheWorkerThread {
public:
CTheWorkerThread();
~CTheWorkerThread();
//////////////////////////////////////////////////////////////////////////
bool Start( /*[in]*/ DWORD dwWaitInterval, /*[in]*/ Callback* pfnCallback );
//////////////////////////////////////////////////////////////////////////
bool End( /*[in]*/ DWORD dwMaxWait, /*[in]*/ bool bTerminateAfterWait );
//////////////////////////////////////////////////////////////////////////
void Suspend(void);
//////////////////////////////////////////////////////////////////////////
void Resume(void);
//////////////////////////////////////////////////////////////////////////
HANDLE GetHandle(void);
private:
//////////////////////////////////////////////////////////////////////////
static unsigned _stdcall ThreadFunc(LPVOID pThreadInfo);
//////////////////////////////////////////////////////////////////////////
THREADINFO m_ThreadInfo; };
#endif // __INC_WORKER_THREAD_H_
|