Source code of Windows XP (NT5)
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.
|
|
/*******************************************************************************
* * threads.h * * declarations of the thread classes * * copyright notice: Copyright 1997, Citrix Systems Inc. * Copyright (c) 1998 - 1999 Microsoft Corporation * * $Author: butchd $ Don Messerli * * $Log: M:\NT\PRIVATE\UTILS\CITRIX\WINUTILS\WINADMIN\VCS\THREADS.H $ * * Rev 1.0 30 Jul 1997 17:12:48 butchd * Initial revision. * *******************************************************************************/
////////////////////////////////////////////////////////////////////////////////
// CThread class
//
class CThread {
/*
* Member variables. */ protected: HANDLE m_hThread; DWORD m_dwThreadID;
/*
* Implementation */ public: virtual ~CThread(); // void* operator new(size_t nSize);
// void operator delete(void* p);
protected: CThread(); static DWORD __stdcall ThreadEntryPoint(LPVOID lpParam); virtual DWORD RunThread() = 0;
/*
* Operations: primary thread */ public: HANDLE CreateThread( DWORD cbStack = 0, DWORD fdwCreate = 0 );
}; // end CThread class interface
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// CWSStatusThread structures, defines, and typedefs
//
#define MAX_STATUS_SEMAPHORE_COUNT 1
#define MAX_SLEEP_COUNT 10
////////////////////////////////////////////////////////////////////////////////
// CWSStatusThread class
//
class CWSStatusThread : public CThread {
/*
* Member variables. */ public: ULONG m_LogonId; HANDLE m_hServer; HWND m_hDlg; WINSTATIONINFORMATION m_WSInfo; PDCONFIG m_PdConfig; protected: HANDLE m_hWakeUp; HANDLE m_hConsumed; BOOL m_bExit;
/*
* Implementation */ public: CWSStatusThread(); protected: virtual ~CWSStatusThread(); virtual DWORD RunThread();
/*
* Operations: primary thread. */ public: void SignalWakeUp(); void SignalConsumed(); void ExitThread();
/*
* Operations: secondary thread. */ protected: BOOL WSPdQuery(); BOOL WSInfoQuery();
}; // end CWSStatusThread class interface
////////////////////////////////////////////////////////////////////////////////
|