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.

74 lines
2.2 KiB

  1. /******************************************************************
  2. Copyright (c) 1999 Microsoft Corporation
  3. NlbsNic.H -- WMI provider class definition
  4. Generated by Microsoft WBEM Code Generation Engine
  5. History: Mar to Nov 2001 JosephJ re-implemented from scratch
  6. *******************************************************************/
  7. // Property set identification
  8. //============================
  9. #ifndef _NlbsNic_H_
  10. #define _NlbsNic_H_
  11. #define PROVIDER_NAME_NLBSNIC L"NlbsNic"
  12. using namespace std;
  13. class CNlbsNic : public Provider
  14. {
  15. public:
  16. // Constructor/destructor
  17. //=======================
  18. CNlbsNic(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace);
  19. virtual ~CNlbsNic();
  20. BOOL DelayedInitialize(VOID);
  21. VOID DelayedDeinitialize(VOID);
  22. protected:
  23. // Reading Functions
  24. //============================
  25. virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L);
  26. virtual HRESULT GetObject(CInstance* pInstance, long lFlags = 0L);
  27. virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L);
  28. // Writing Functions
  29. //============================
  30. virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L);
  31. virtual HRESULT DeleteInstance(const CInstance& Instance, long lFlags = 0L);
  32. // Other Functions
  33. virtual HRESULT ExecMethod( const CInstance& Instance,
  34. const BSTR bstrMethodName,
  35. CInstance *pInParams,
  36. CInstance *pOutParams,
  37. long lFlags = 0L );
  38. // TO DO: Declare any additional functions and accessor
  39. // functions for private data used by this class
  40. //===========================================================
  41. private:
  42. CRITICAL_SECTION m_Lock;
  43. VOID mfn_Lock(VOID) {EnterCriticalSection(&m_Lock);}
  44. VOID mfn_Unlock(VOID) {LeaveCriticalSection(&m_Lock);}
  45. BOOL mfn_IsCallerAdmin(VOID);
  46. BOOL m_fDelayedInitializationComplete;
  47. };
  48. extern CNlbsNic MyNlbsNicSet;
  49. #endif