Source code of Windows XP (NT5)
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.

280 lines
11 KiB

  1. // (c) 1998-1999 Microsoft Corporation. All rights reserved.
  2. #pragma autorecover
  3. #pragma classflags("forceupdate")
  4. Qualifier Description : ToSubClass Amended;
  5. Qualifier Values : ToSubClass Amended;
  6. Qualifier DisplayName : Amended;
  7. Qualifier BitValues:ToSubClass Amended ;
  8. Qualifier Aggregate : ToSubClass ;
  9. Qualifier ValueMap : ToSubClass ;
  10. Qualifier Aggregation : ToSubClass ;
  11. Qualifier ArrayType : ToSubClass ;
  12. Qualifier Association : ToInstance ToSubClass DisableOverride ;
  13. Qualifier BitMap : ToSubClass ;
  14. Qualifier CIM_Key : ToSubClass ;
  15. Qualifier CIMTYPE : ToSubClass ;
  16. Qualifier Deprecated : ToSubClass ;
  17. Qualifier Enumeration : ToSubClass ;
  18. Qualifier EnumPrivileges : ToSubClass ;
  19. Qualifier ImplementationSource : ToSubClass ;
  20. Qualifier Key : ToInstance ToSubClass DisableOverride ;
  21. Qualifier Locale : ToInstance ;
  22. Qualifier MappingStrings : ToSubClass ;
  23. Qualifier Max : ToSubClass ;
  24. Qualifier MaxLen : ToSubClass ;
  25. Qualifier Min : ToSubClass ;
  26. Qualifier ModelCorrespondence : ToSubClass ;
  27. Qualifier Not_Null : ToSubClass ;
  28. Qualifier Override : Restricted ;
  29. Qualifier Privileges : ToSubClass ;
  30. Qualifier Propagated : ToSubClass ;
  31. Qualifier provider : ToInstance ;
  32. Qualifier Range : ToSubClass ;
  33. Qualifier Read : ToSubClass ;
  34. Qualifier Schema : ToInstance ;
  35. Qualifier Singleton : ToSubClass ToInstance ;
  36. Qualifier SUBTYPE : ToSubClass ;
  37. Qualifier Units : ToSubClass ;
  38. Qualifier UUID : ToInstance ;
  39. Qualifier Volatile : ToSubClass ;
  40. Qualifier Weak : ToSubClass ;
  41. Qualifier Write : ToSubClass ;
  42. Qualifier WritePrivileges : ToSubClass ;
  43. #pragma namespace ("\\\\.\\Root\\CIMV2")
  44. instance of __Win32Provider as $PRoute
  45. {
  46. Name = "RouteProvider";
  47. ClsId = "{23b77e99-5c2d-482d-a795-62ca3ae5b673}";
  48. HostingModel = "NetworkServiceHost";
  49. };
  50. instance of __InstanceProviderRegistration
  51. {
  52. Provider = $PRoute;
  53. SupportsGet = TRUE;
  54. SupportsPut = TRUE;
  55. SupportsDelete = TRUE;
  56. SupportsEnumeration = TRUE;
  57. QuerySupportLevels = {"WQL:UnarySelect"};
  58. };
  59. instance of __Win32Provider as $PRouteEvent
  60. {
  61. Name = "RouteEventProvider";
  62. ClsId = "{6D7A4B0E-66D5-4ac3-A7ED-0189E8CF5E77}";
  63. HostingModel = "LocalSystemHost";
  64. };
  65. [dynamic, provider("RouteProvider"), Description ("The IP4RouteTable class "
  66. "information governs where network data packets are routed to (e.g. usually "
  67. "internet packets are sent to a gateway, and local packets may be routed "
  68. "directly by the client's machine). Administrators can use this "
  69. "information to trace problems associated with misrouted packets, and also "
  70. "direct a computer to a new gateway as necessary. This class deals specifically "
  71. "with IP4 and does not address IPX or IP6. It is only intended to model the "
  72. "information revealed when typing the 'Route Print' command from the command "
  73. "prompt. \n"
  74. "Please Note: though updating instances of this class is supported, supplying "
  75. "property values which are invalid or unrecognized by the network protocol stack will "
  76. "not update successfully and the original values will persist. An error is "
  77. "not guaranteed to be generated when this happens, but if one does, nothing is updated."),
  78. SupportsCreate, CreateBy("PutInstance"),SupportsDelete, DeleteBy("DeleteInstance"),
  79. SupportsUpdate, Locale (0x409), UUID ("{ABEE8C61-A43F-4088-0081-9D00B3FF6545}")]
  80. class Win32_IP4RouteTable : CIM_LogicalElement
  81. {
  82. [read,write,key, Description ("The Destination property contains the "
  83. "destination IP address for this route.")
  84. ]
  85. string Destination;
  86. [read,write, Description ("The Mask property contains the mask used "
  87. "in this entry. Masks should be logical-ANDed with the destination "
  88. "address before being compared to the value in the ipRouteDest field.")
  89. ]
  90. string Mask;
  91. [read, write, Description ("The InterfaceIndex property contains the "
  92. "index value that uniquely identifies the local interface through which "
  93. "the next hop of this route should be reached.")
  94. ]
  95. sint32 InterfaceIndex ;
  96. [Key, read, write, Description ("The NextHop property contains the IP address "
  97. "of the next hop of this route. (In the case of a route bound to an "
  98. "interface that is realized via a broadcast media, the value of this "
  99. "field is the agent's IP address on that interface.).")
  100. ]
  101. string NextHop ;
  102. [read,write, Description ("The Type property reveals the type of route. "
  103. "The values direct(3) and indirect(4) refer to the notion of direct and "
  104. "indirect routing in the IP architecture. Setting this object to the "
  105. "value invalid(2) has the effect of invalidating the corresponding entry "
  106. "in the RouteTable object. That is, it effectively disassociates the "
  107. "destination identified with said entry from the route identified with "
  108. "said entry. It is an implementation-specific matter as to whether the "
  109. "agent removes an invalidated entry from the table. Accordingly, "
  110. "management stations must be prepared to receive tabular information "
  111. "from agents that corresponds to entries not currently in use. Proper "
  112. "interpretation of such entries requires examination of the relevant "
  113. "ipRouteType object."),
  114. ValueMap{"1","2","3","4"},
  115. Values{"other" , "invalid","direct","indirect"}
  116. ]
  117. uint32 Type;
  118. [read, Description ("The Protocol property reveals the routing mechanism "
  119. "via which this route was learned. Inclusion of values for gateway routing "
  120. "protocols is not intended to imply that hosts must support those "
  121. "protocols."),
  122. ValueMap{"1","2","3","4","5","6","7","8","9","10","11","12","13","14"},
  123. Values{"other","local","netmgmt","icmp","egp","ggp","hello","rip",
  124. "is-is","es-is","ciscoIgrp","bbnSpfIgp","ospf","bgp"}
  125. ]
  126. uint32 Protocol;
  127. [read, Description ("The Age property contains the number of seconds "
  128. "since this route was last updated or otherwise determined to be correct. "
  129. "No semantics of 'too old' can be implied except through knowledge of the "
  130. "routing protocol by which the route was learned.")
  131. ]
  132. uint32 Age;
  133. [read, write, Description ("The Metric1 property contains the primary "
  134. "routing metric for this route. The semantics of this metric are "
  135. "determined by the routing protocol specified in the route's ipRouteProto "
  136. "value. If this metric is not used, its value should be set to -1.")
  137. ]
  138. sint32 Metric1 ;
  139. [read, write, Description ("The Metric2 property contains an alternate "
  140. "routing metric for this route. The semantics of this metric are "
  141. "determined by the routing protocol specified in the route's "
  142. "ipRouteProto value. If this metric is not used, its value should be "
  143. "set to -1.")
  144. ]
  145. sint32 Metric2 ;
  146. [read, write, Description ("The Metric3 property contains an alternate "
  147. "routing metric for this route. The semantics of this metric are "
  148. "determined by the routing protocol specified in the route's "
  149. "ipRouteProto value. If this metric is not used, its value should be "
  150. "set to -1.")
  151. ]
  152. sint32 Metric3 ;
  153. [read, write, Description ("The Metric4 property contains an alternate "
  154. "routing metric for this route. The semantics of this metric are "
  155. "determined by the routing protocol specified in the route's "
  156. "ipRouteProto value. If this metric is not used, its value should be "
  157. "set to -1.")
  158. ]
  159. sint32 Metric4 ;
  160. [read, write, Description ("The Metric5 property contains an alternate "
  161. "routing metric for this route. The semantics of this metric are "
  162. "determined by the routing protocol specified in the route's "
  163. "ipRouteProto value. If this metric is not used, its value should be "
  164. "set to -1.")
  165. ]
  166. sint32 Metric5 ;
  167. [read, Description ("The Information property contains a reference to "
  168. "MIB definitions specific to the particular routing protocol that is "
  169. "responsible for this route, as determined by the value specified in "
  170. "the route's ipRouteProto value. If this information is not present, "
  171. "its value should be set to the OBJECT IDENTIFIER {0 0}, which is a "
  172. "syntactically valid object identifier, and any conformant "
  173. "implementation of ASN.1 and BER must be able to generate and recognize "
  174. "this value.")
  175. ]
  176. string Information;
  177. };
  178. [dynamic, provider("RouteProvider"), Description ("The IP4PersistedRouteTable "
  179. "class contains IP routes that are persisted. By default, the routes you add "
  180. "to the routing table aren't permanent. You lose these routes when you reboot "
  181. "your computer. However, if you use the command route -p add, Windows NT makes "
  182. "the permanent--so you won't lose the route when you reboot your computer. "
  183. "Persistent entries are automatically reinserted in your route table each "
  184. "time your computer's route table is rebuilt. Windows NT stores persistent "
  185. "routes in the Registry. This class deals specifically with IP4 and does not "
  186. "address IPX or IP6."),
  187. Locale (0x409), UUID ("{2CAF4666-AC9B-45AB-00A6-AF8C537794C2}"),
  188. SupportsCreate, CreateBy("PutInstance"), SupportsDelete, DeleteBy("DeleteInstance")]
  189. class Win32_IP4PersistedRouteTable : CIM_LogicalElement
  190. {
  191. [read,write,key, Description ("The Destination property contains the "
  192. "destination IP address for this persisted route.")
  193. ]
  194. string Destination;
  195. [read,write, key, Description ("The Mask property contains the mask used "
  196. "in this persisted entry. Masks should be logical-ANDed with the destination "
  197. "address before being compared to the value in the ipRouteDest field.")
  198. ]
  199. string Mask;
  200. [read, write, key, Description ("The NextHop property contains the IP address "
  201. "of the next hop of this persisted route. (In the case of a route bound to an "
  202. "interface that is realized via a broadcast media, the value of this "
  203. "field is the agent's IP address on that interface.).")
  204. ]
  205. string NextHop ;
  206. [read, write, key, Description ("The Metric1 property contains the primary "
  207. "routing metric for this persisted route. The semantics of this metric are "
  208. "determined by the routing protocol specified in the route's ipRouteProto "
  209. "value. If this metric is not used, its value should be set to -1.")
  210. ]
  211. sint32 Metric1 ;
  212. };
  213. [Dynamic, provider("RouteProvider"), Description ("The ActiveRoute class "
  214. "assoctiates the current IP4 Route being used with the persisted IP route "
  215. "table."),
  216. Locale (0x409), UUID ("{7BA1437A-C51C-421B-A359-2906AF2BDD9F}")]
  217. class Win32_ActiveRoute : CIM_LogicalIdentity
  218. {
  219. [Read: ToSubClass, Override ("SystemElement"): ToSubClass,
  220. Description ("The SystemElement represents the active IP route being"
  221. "used."): ToSubClass,
  222. MappingStrings {""}: ToSubClass]
  223. Win32_IP4RouteTable REF SystemElement;
  224. [Read: ToSubClass, Override ("SameElement"): ToSubClass,
  225. Description ("The SameElement represents persistent IP route in this"
  226. "relationship."): ToSubClass,
  227. MappingStrings {""}: ToSubClass]
  228. Win32_IP4PersistedRouteTable REF SameElement;
  229. };
  230. [Description ("The Win32_IP4RouteTableEvent class represents IP route change "
  231. "events resulting from the addition, removal or modification of IP routes "
  232. "on the computer system."),
  233. Locale (0x409), UUID ("{1C385E29-A5B4-40F0-96CF-929FC00958B}")]
  234. class Win32_IP4RouteTableEvent : __ExtrinsicEvent
  235. {
  236. };
  237. instance of __EventProviderRegistration
  238. {
  239. Provider = $PRouteEvent;
  240. EventQueryList = {"select * from Win32_IP4RouteTableEvent"};
  241. };