Leaked source code of windows server 2003
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

  1. /******************************************************************
  2. CIPRouteTable.H -- WMI provider class definition
  3. Generated by Microsoft WBEM Code Generation Engine
  4. Description:
  5. *******************************************************************/
  6. // Property set identification
  7. //============================
  8. #ifndef _CIPRouteTable_H_
  9. #define _CIPRouteTable_H_
  10. #define PROVIDER_NAME_CIPROUTETABLE L"Win32_IP4RouteTable"
  11. class CIPRouteTable : public Provider , public QueryPreprocessor
  12. {
  13. private:
  14. // All data members for CIPRouteTable should be included here.
  15. CInstance *m_ClassCInst;
  16. CRITICAL_SECTION m_CS;
  17. NTSTATUS DeleteInformation_IpRouteInfo (
  18. HANDLE a_StackHandle ,
  19. HANDLE a_CompleteEventHandle ,
  20. IPRouteEntry &a_RouteEntry
  21. ) ;
  22. NTSTATUS SetInformation_IpRouteInfo (
  23. HANDLE a_StackHandle ,
  24. HANDLE a_CompleteEventHandle ,
  25. IPRouteEntry &a_RouteEntry
  26. ) ;
  27. HRESULT CheckParameters (
  28. const CInstance &a_Instance ,
  29. IPRouteEntry &a_RouteEntry
  30. ) ;
  31. HRESULT QueryInformation_GetRouteEntry (
  32. const ProvIpAddressType &a_DestinationIpAddress ,
  33. const ProvIpAddressType &a_NextHopIpAddress ,
  34. IPRouteEntry &a_RouteEntry
  35. ) ;
  36. NTSTATUS QueryInformation_IpRouteInfo (
  37. HANDLE a_StackHandle ,
  38. HANDLE a_CompleteEventHandle ,
  39. ulong &a_RouteTableSize ,
  40. IPRouteEntry *&a_InformationBlock
  41. ) ;
  42. HRESULT QueryInformation_IpSnmpInfo (
  43. HANDLE a_StackHandle ,
  44. HANDLE a_CompleteEventHandle ,
  45. IPSNMPInfo &a_Information
  46. ) ;
  47. NTSTATUS OpenQuerySource (
  48. HANDLE &a_StackHandle ,
  49. HANDLE &a_CompleteEventHandle
  50. ) ;
  51. NTSTATUS OpenSetSource (
  52. HANDLE &a_StackHandle ,
  53. HANDLE &a_CompleteEventHandle
  54. ) ;
  55. void SetInheritedProperties (
  56. LPCWSTR a_dest ,
  57. LPCWSTR a_gateway ,
  58. LPCWSTR a_mask ,
  59. CInstance &a_Instance
  60. ) ;
  61. private:
  62. QueryPreprocessor :: QuadState Compare (
  63. wchar_t *a_Operand1 ,
  64. wchar_t *a_Operand2 ,
  65. DWORD a_Operand1Func ,
  66. DWORD a_Operand2Func ,
  67. WmiTreeNode &a_OperatorType
  68. ) ;
  69. QueryPreprocessor :: QuadState Compare (
  70. LONG a_Operand1 ,
  71. LONG a_Operand2 ,
  72. DWORD a_Operand1Func ,
  73. DWORD a_Operand2Func ,
  74. WmiTreeNode &a_OperatorType
  75. ) ;
  76. QueryPreprocessor :: QuadState CompareString (
  77. IWbemClassObject *a_ClassObject ,
  78. BSTR a_PropertyName ,
  79. WmiTreeNode *a_Operator ,
  80. WmiTreeNode *a_Operand
  81. ) ;
  82. QueryPreprocessor :: QuadState CompareInteger (
  83. IWbemClassObject *a_ClassObject ,
  84. BSTR a_PropertyName ,
  85. WmiTreeNode *a_Operator ,
  86. WmiTreeNode *a_Operand
  87. ) ;
  88. protected:
  89. // Reading Functions
  90. //============================
  91. HRESULT EnumerateInstances (
  92. MethodContext *pMethodContext,
  93. long lFlags = 0L
  94. ) ;
  95. HRESULT GetObject (
  96. CInstance *pInstance,
  97. long lFlags = 0L
  98. ) ;
  99. HRESULT ExecQuery (
  100. MethodContext *pMethodContext,
  101. CFrameworkQuery& Query,
  102. long lFlags = 0L
  103. ) ;
  104. HRESULT RangeQuery (
  105. MethodContext *pMethodContext,
  106. PartitionSet &a_PartitionSet ,
  107. long lFlags = 0L
  108. ) ;
  109. // Writing Functions
  110. //============================
  111. HRESULT PutInstance (
  112. const CInstance& Instance,
  113. long lFlags = 0L
  114. ) ;
  115. HRESULT DeleteInstance (
  116. const CInstance& Instance,
  117. long lFlags = 0L
  118. ) ;
  119. // Method Function
  120. HRESULT ExecMethod (
  121. const CInstance& Instance,
  122. const BSTR bstrMethodName,
  123. CInstance *pInParams,
  124. CInstance *pOutParams,
  125. long lFlags = 0L
  126. ) ;
  127. WmiTreeNode *AllocTypeNode (
  128. void *a_Context ,
  129. BSTR a_PropertyName ,
  130. VARIANT &a_Variant ,
  131. WmiValueNode :: WmiValueFunction a_PropertyFunction ,
  132. WmiValueNode :: WmiValueFunction a_ConstantFunction ,
  133. WmiTreeNode *a_Parent
  134. ) ;
  135. QuadState InvariantEvaluate (
  136. void *a_Context ,
  137. WmiTreeNode *a_Operator ,
  138. WmiTreeNode *a_Operand
  139. ) ;
  140. WmiRangeNode *AllocInfiniteRangeNode (
  141. void *a_Context ,
  142. BSTR a_PropertyName
  143. ) ;
  144. HRESULT GetClassObject ( CInstance *&a_ClassObject, MethodContext *pContext ) ;
  145. virtual DWORD GetPriority ( BSTR a_PropertyName ) ;
  146. // TO DO: Declare any additional functions and accessor
  147. // functions for private data used by this class
  148. //===========================================================
  149. public:
  150. // Constructor/destructor
  151. //=======================
  152. CIPRouteTable (
  153. LPCWSTR lpwszClassName,
  154. LPCWSTR lpwszNameSpace
  155. ) ;
  156. virtual ~CIPRouteTable () ;
  157. } ;
  158. #endif