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.
229 lines
4.6 KiB
229 lines
4.6 KiB
/******************************************************************
|
|
|
|
CIPRouteTable.H -- WMI provider class definition
|
|
|
|
Generated by Microsoft WBEM Code Generation Engine
|
|
|
|
Description:
|
|
|
|
|
|
*******************************************************************/
|
|
|
|
// Property set identification
|
|
//============================
|
|
|
|
#ifndef _CIPRouteTable_H_
|
|
#define _CIPRouteTable_H_
|
|
|
|
#define PROVIDER_NAME_CIPROUTETABLE L"Win32_IP4RouteTable"
|
|
|
|
|
|
class CIPRouteTable : public Provider , public QueryPreprocessor
|
|
{
|
|
private:
|
|
// All data members for CIPRouteTable should be included here.
|
|
CInstance *m_ClassCInst;
|
|
CRITICAL_SECTION m_CS;
|
|
|
|
NTSTATUS DeleteInformation_IpRouteInfo (
|
|
|
|
HANDLE a_StackHandle ,
|
|
HANDLE a_CompleteEventHandle ,
|
|
IPRouteEntry &a_RouteEntry
|
|
) ;
|
|
|
|
NTSTATUS SetInformation_IpRouteInfo (
|
|
|
|
HANDLE a_StackHandle ,
|
|
HANDLE a_CompleteEventHandle ,
|
|
IPRouteEntry &a_RouteEntry
|
|
) ;
|
|
|
|
HRESULT CheckParameters (
|
|
|
|
const CInstance &a_Instance ,
|
|
IPRouteEntry &a_RouteEntry
|
|
) ;
|
|
|
|
HRESULT QueryInformation_GetRouteEntry (
|
|
|
|
const ProvIpAddressType &a_DestinationIpAddress ,
|
|
const ProvIpAddressType &a_NextHopIpAddress ,
|
|
IPRouteEntry &a_RouteEntry
|
|
) ;
|
|
|
|
NTSTATUS QueryInformation_IpRouteInfo (
|
|
|
|
HANDLE a_StackHandle ,
|
|
HANDLE a_CompleteEventHandle ,
|
|
ulong &a_RouteTableSize ,
|
|
IPRouteEntry *&a_InformationBlock
|
|
) ;
|
|
|
|
HRESULT QueryInformation_IpSnmpInfo (
|
|
|
|
HANDLE a_StackHandle ,
|
|
HANDLE a_CompleteEventHandle ,
|
|
IPSNMPInfo &a_Information
|
|
) ;
|
|
|
|
NTSTATUS OpenQuerySource (
|
|
|
|
HANDLE &a_StackHandle ,
|
|
HANDLE &a_CompleteEventHandle
|
|
) ;
|
|
|
|
NTSTATUS OpenSetSource (
|
|
|
|
HANDLE &a_StackHandle ,
|
|
HANDLE &a_CompleteEventHandle
|
|
) ;
|
|
|
|
void SetInheritedProperties (
|
|
|
|
LPCWSTR a_dest ,
|
|
LPCWSTR a_gateway ,
|
|
LPCWSTR a_mask ,
|
|
CInstance &a_Instance
|
|
) ;
|
|
|
|
private:
|
|
|
|
|
|
QueryPreprocessor :: QuadState Compare (
|
|
|
|
wchar_t *a_Operand1 ,
|
|
wchar_t *a_Operand2 ,
|
|
DWORD a_Operand1Func ,
|
|
DWORD a_Operand2Func ,
|
|
WmiTreeNode &a_OperatorType
|
|
) ;
|
|
|
|
QueryPreprocessor :: QuadState Compare (
|
|
|
|
LONG a_Operand1 ,
|
|
LONG a_Operand2 ,
|
|
DWORD a_Operand1Func ,
|
|
DWORD a_Operand2Func ,
|
|
WmiTreeNode &a_OperatorType
|
|
) ;
|
|
|
|
QueryPreprocessor :: QuadState CompareString (
|
|
|
|
IWbemClassObject *a_ClassObject ,
|
|
BSTR a_PropertyName ,
|
|
WmiTreeNode *a_Operator ,
|
|
WmiTreeNode *a_Operand
|
|
) ;
|
|
|
|
QueryPreprocessor :: QuadState CompareInteger (
|
|
|
|
IWbemClassObject *a_ClassObject ,
|
|
BSTR a_PropertyName ,
|
|
WmiTreeNode *a_Operator ,
|
|
WmiTreeNode *a_Operand
|
|
) ;
|
|
|
|
protected:
|
|
|
|
// Reading Functions
|
|
//============================
|
|
|
|
HRESULT EnumerateInstances (
|
|
|
|
MethodContext *pMethodContext,
|
|
long lFlags = 0L
|
|
) ;
|
|
|
|
HRESULT GetObject (
|
|
|
|
CInstance *pInstance,
|
|
long lFlags = 0L
|
|
) ;
|
|
|
|
HRESULT ExecQuery (
|
|
|
|
MethodContext *pMethodContext,
|
|
CFrameworkQuery& Query,
|
|
long lFlags = 0L
|
|
) ;
|
|
|
|
HRESULT RangeQuery (
|
|
|
|
MethodContext *pMethodContext,
|
|
PartitionSet &a_PartitionSet ,
|
|
long lFlags = 0L
|
|
) ;
|
|
|
|
// Writing Functions
|
|
//============================
|
|
|
|
HRESULT PutInstance (
|
|
|
|
const CInstance& Instance,
|
|
long lFlags = 0L
|
|
) ;
|
|
|
|
HRESULT DeleteInstance (
|
|
|
|
const CInstance& Instance,
|
|
long lFlags = 0L
|
|
) ;
|
|
|
|
// Method Function
|
|
|
|
HRESULT ExecMethod (
|
|
|
|
const CInstance& Instance,
|
|
const BSTR bstrMethodName,
|
|
CInstance *pInParams,
|
|
CInstance *pOutParams,
|
|
long lFlags = 0L
|
|
) ;
|
|
|
|
WmiTreeNode *AllocTypeNode (
|
|
|
|
void *a_Context ,
|
|
BSTR a_PropertyName ,
|
|
VARIANT &a_Variant ,
|
|
WmiValueNode :: WmiValueFunction a_PropertyFunction ,
|
|
WmiValueNode :: WmiValueFunction a_ConstantFunction ,
|
|
WmiTreeNode *a_Parent
|
|
) ;
|
|
|
|
QuadState InvariantEvaluate (
|
|
|
|
void *a_Context ,
|
|
WmiTreeNode *a_Operator ,
|
|
WmiTreeNode *a_Operand
|
|
) ;
|
|
|
|
WmiRangeNode *AllocInfiniteRangeNode (
|
|
|
|
void *a_Context ,
|
|
BSTR a_PropertyName
|
|
) ;
|
|
|
|
HRESULT GetClassObject ( CInstance *&a_ClassObject, MethodContext *pContext ) ;
|
|
|
|
virtual DWORD GetPriority ( BSTR a_PropertyName ) ;
|
|
|
|
// TO DO: Declare any additional functions and accessor
|
|
// functions for private data used by this class
|
|
//===========================================================
|
|
|
|
public:
|
|
|
|
// Constructor/destructor
|
|
//=======================
|
|
|
|
CIPRouteTable (
|
|
|
|
LPCWSTR lpwszClassName,
|
|
LPCWSTR lpwszNameSpace
|
|
) ;
|
|
|
|
virtual ~CIPRouteTable () ;
|
|
} ;
|
|
|
|
#endif
|