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.
|
|
//
// NetEnum.h
//
#pragma once
// Callback is called with a NULL pNetResource to indicate no more items to enumerate
typedef BOOL (CALLBACK * NETENUMCALLBACK)(LPVOID pvCallbackParam, LPCTSTR pszComputerName, LPCTSTR pszShareName);
// One global iteration can be happening at a time. If you need
// more than one, instantiate CNetEnum yourself.
void InitNetEnum(); void TermNetEnum(); void EnumComputers(NETENUMCALLBACK pfnCallback, LPVOID pvCallbackParam);
class CNetEnum { public: CNetEnum(); ~CNetEnum();
void EnumComputers(NETENUMCALLBACK pfnCallback, LPVOID pvCallbackParam); void EnumNetPrinters(NETENUMCALLBACK pfnCallback, LPVOID pvCallbackParam); void Abort();
protected: enum JOBTYPE { jtEnumComputers, jtEnumPrinters };
void EnumHelper(JOBTYPE eJobType, NETENUMCALLBACK pfnCallback, LPVOID pvCallbackParam); static DWORD WINAPI EnumThreadProc(LPVOID pvParam); void EnumThreadProc();
protected: CRITICAL_SECTION m_cs;
HANDLE m_hThread; BOOL m_bAbort; BOOL m_bNewJob;
JOBTYPE m_eJobType; NETENUMCALLBACK m_pfnCallback; LPVOID m_pvCallbackParam; };
|