/****************************************************************** Copyright (c) 1999 Microsoft Corporation NlbsNic.H -- WMI provider class definition Generated by Microsoft WBEM Code Generation Engine Description: *******************************************************************/ // Property set identification //============================ #ifndef _NlbsNic_H_ #define _NlbsNic_H_ #define PROVIDER_NAME_NLBSNIC L"NlbsNic" #include "MNLBUIData.h" #include "MNLBProviderSetting.h" #include using namespace std; // Property name externs -- defined in NlbsNic.cpp //================================================= extern const WCHAR* pAdapterGuid ; extern const WCHAR* pDependent ; extern const WCHAR* pFriendlyName ; extern const WCHAR* pFullName ; class CNlbsNic : public Provider { public: // Constructor/destructor //======================= CNlbsNic(LPCWSTR lpwszClassName, LPCWSTR lpwszNameSpace); virtual ~CNlbsNic(); protected: // Reading Functions //============================ virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L); virtual HRESULT GetObject(CInstance* pInstance, long lFlags = 0L); virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L); // Writing Functions //============================ virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L); virtual HRESULT DeleteInstance(const CInstance& Instance, long lFlags = 0L); // Other Functions virtual HRESULT ExecMethod( const CInstance& Instance, const BSTR bstrMethodName, CInstance *pInParams, CInstance *pOutParams, long lFlags = 0L ); // TO DO: Declare any additional functions and accessor // functions for private data used by this class //=========================================================== private: // All data members for CNlbsNic should be included here. void GetVectorFromSafeArray( SAFEARRAY*& stringArray, vector<_bstr_t>& strings ); void RetreiveAndSetClusterProperties(CInstance *pInParams, MNLBProviderSetting &nlbs, ClusterProperties& cp, const wstring& fullName ); void FillInPortRules( ClusterData* p_clusterData, const _bstr_t& myMachine, const vector<_bstr_t>& portRules ); private: enum { PROTOCOL_BIND_DELAY = 20000, PROTOCOL_BIND_WAIT_INCREMENT = 1000 }; static WCHAR* version; }; #endif