98 lines
2.8 KiB
C++
98 lines
2.8 KiB
C++
/******************************************************************
|
|
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 <vector>
|
|
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
|