windows-nt/Source/XPSP1/NT/net/wlbs/nlbmgr/provider/nlbsnic.h
2020-09-26 16:20:57 +08:00

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