windows-nt/Source/XPSP1/NT/net/dhcp/dhcpprov/inc/snetscal.h
2020-09-26 16:20:57 +08:00

66 lines
2.2 KiB
C++

/******************************************************************
SNetScal.h -- WBEM provider class declaration
MODULE:
DhcpProv.dll
DESCRIPTION:
Contains the declaration of the DHCP_Subnet_Scalar class and
the indices definitions for its static table of manageable objects.
REVISION:
08/03/98 - created
******************************************************************/
#include "Props.h" // needed for CDHCP_Property definition
#ifndef _SNETSCAL_H
#define _SNETSCAL_H
// indices for the DHCP_Subnet_Property static table (defined in SrvScal.cpp)
#define IDX_SNET_Address 0
#define IDX_SNET_Mask 1
#define IDX_SNET_Name 2
#define IDX_SNET_Comment 3
#define IDX_SNET_State 4
#define IDX_SNET_NbAddrInUse 5
#define IDX_SNET_NbAddrFree 6
#define IDX_SNET_NbPendingOffers 7
// external definition for the static table of manageable objects (properties)
extern const CDHCP_Property DHCP_Subnet_Property[];
// the number of entries into the DHCP_Subnet_Property static table
#define NUM_SUBNET_PROPERTIES (sizeof(DHCP_Subnet_Property)/sizeof(CDHCP_Property))
class CDHCP_Subnet : public Provider
{
private:
// Loader function for the properties values.
BOOL LoadInstanceProperties(CInstance* pInstance);
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 );
public:
// Constructor/destructor
CDHCP_Subnet(const CHString& chsClassName, LPCSTR lpszNameSpace);
virtual ~CDHCP_Subnet();
};
#endif