WbemCli.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:177k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for wbemcli.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __wbemcli_h__
  27. #define __wbemcli_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IWbemClassObject_FWD_DEFINED__
  33. #define __IWbemClassObject_FWD_DEFINED__
  34. typedef interface IWbemClassObject IWbemClassObject;
  35. #endif  /* __IWbemClassObject_FWD_DEFINED__ */
  36. #ifndef __IWbemObjectAccess_FWD_DEFINED__
  37. #define __IWbemObjectAccess_FWD_DEFINED__
  38. typedef interface IWbemObjectAccess IWbemObjectAccess;
  39. #endif  /* __IWbemObjectAccess_FWD_DEFINED__ */
  40. #ifndef __IWbemQualifierSet_FWD_DEFINED__
  41. #define __IWbemQualifierSet_FWD_DEFINED__
  42. typedef interface IWbemQualifierSet IWbemQualifierSet;
  43. #endif  /* __IWbemQualifierSet_FWD_DEFINED__ */
  44. #ifndef __IWbemServices_FWD_DEFINED__
  45. #define __IWbemServices_FWD_DEFINED__
  46. typedef interface IWbemServices IWbemServices;
  47. #endif  /* __IWbemServices_FWD_DEFINED__ */
  48. #ifndef __IWbemLocator_FWD_DEFINED__
  49. #define __IWbemLocator_FWD_DEFINED__
  50. typedef interface IWbemLocator IWbemLocator;
  51. #endif  /* __IWbemLocator_FWD_DEFINED__ */
  52. #ifndef __IWbemObjectSink_FWD_DEFINED__
  53. #define __IWbemObjectSink_FWD_DEFINED__
  54. typedef interface IWbemObjectSink IWbemObjectSink;
  55. #endif  /* __IWbemObjectSink_FWD_DEFINED__ */
  56. #ifndef __IEnumWbemClassObject_FWD_DEFINED__
  57. #define __IEnumWbemClassObject_FWD_DEFINED__
  58. typedef interface IEnumWbemClassObject IEnumWbemClassObject;
  59. #endif  /* __IEnumWbemClassObject_FWD_DEFINED__ */
  60. #ifndef __IWbemCallResult_FWD_DEFINED__
  61. #define __IWbemCallResult_FWD_DEFINED__
  62. typedef interface IWbemCallResult IWbemCallResult;
  63. #endif  /* __IWbemCallResult_FWD_DEFINED__ */
  64. #ifndef __IWbemContext_FWD_DEFINED__
  65. #define __IWbemContext_FWD_DEFINED__
  66. typedef interface IWbemContext IWbemContext;
  67. #endif  /* __IWbemContext_FWD_DEFINED__ */
  68. #ifndef __IUnsecuredApartment_FWD_DEFINED__
  69. #define __IUnsecuredApartment_FWD_DEFINED__
  70. typedef interface IUnsecuredApartment IUnsecuredApartment;
  71. #endif  /* __IUnsecuredApartment_FWD_DEFINED__ */
  72. #ifndef __IWbemStatusCodeText_FWD_DEFINED__
  73. #define __IWbemStatusCodeText_FWD_DEFINED__
  74. typedef interface IWbemStatusCodeText IWbemStatusCodeText;
  75. #endif  /* __IWbemStatusCodeText_FWD_DEFINED__ */
  76. #ifndef __IWbemBackupRestore_FWD_DEFINED__
  77. #define __IWbemBackupRestore_FWD_DEFINED__
  78. typedef interface IWbemBackupRestore IWbemBackupRestore;
  79. #endif  /* __IWbemBackupRestore_FWD_DEFINED__ */
  80. #ifndef __IWbemBackupRestoreEx_FWD_DEFINED__
  81. #define __IWbemBackupRestoreEx_FWD_DEFINED__
  82. typedef interface IWbemBackupRestoreEx IWbemBackupRestoreEx;
  83. #endif  /* __IWbemBackupRestoreEx_FWD_DEFINED__ */
  84. #ifndef __IWbemRefresher_FWD_DEFINED__
  85. #define __IWbemRefresher_FWD_DEFINED__
  86. typedef interface IWbemRefresher IWbemRefresher;
  87. #endif  /* __IWbemRefresher_FWD_DEFINED__ */
  88. #ifndef __IWbemHiPerfEnum_FWD_DEFINED__
  89. #define __IWbemHiPerfEnum_FWD_DEFINED__
  90. typedef interface IWbemHiPerfEnum IWbemHiPerfEnum;
  91. #endif  /* __IWbemHiPerfEnum_FWD_DEFINED__ */
  92. #ifndef __IWbemConfigureRefresher_FWD_DEFINED__
  93. #define __IWbemConfigureRefresher_FWD_DEFINED__
  94. typedef interface IWbemConfigureRefresher IWbemConfigureRefresher;
  95. #endif  /* __IWbemConfigureRefresher_FWD_DEFINED__ */
  96. #ifndef __WbemLocator_FWD_DEFINED__
  97. #define __WbemLocator_FWD_DEFINED__
  98. #ifdef __cplusplus
  99. typedef class WbemLocator WbemLocator;
  100. #else
  101. typedef struct WbemLocator WbemLocator;
  102. #endif /* __cplusplus */
  103. #endif  /* __WbemLocator_FWD_DEFINED__ */
  104. #ifndef __WbemContext_FWD_DEFINED__
  105. #define __WbemContext_FWD_DEFINED__
  106. #ifdef __cplusplus
  107. typedef class WbemContext WbemContext;
  108. #else
  109. typedef struct WbemContext WbemContext;
  110. #endif /* __cplusplus */
  111. #endif  /* __WbemContext_FWD_DEFINED__ */
  112. #ifndef __UnsecuredApartment_FWD_DEFINED__
  113. #define __UnsecuredApartment_FWD_DEFINED__
  114. #ifdef __cplusplus
  115. typedef class UnsecuredApartment UnsecuredApartment;
  116. #else
  117. typedef struct UnsecuredApartment UnsecuredApartment;
  118. #endif /* __cplusplus */
  119. #endif  /* __UnsecuredApartment_FWD_DEFINED__ */
  120. #ifndef __WbemClassObject_FWD_DEFINED__
  121. #define __WbemClassObject_FWD_DEFINED__
  122. #ifdef __cplusplus
  123. typedef class WbemClassObject WbemClassObject;
  124. #else
  125. typedef struct WbemClassObject WbemClassObject;
  126. #endif /* __cplusplus */
  127. #endif  /* __WbemClassObject_FWD_DEFINED__ */
  128. #ifndef __MofCompiler_FWD_DEFINED__
  129. #define __MofCompiler_FWD_DEFINED__
  130. #ifdef __cplusplus
  131. typedef class MofCompiler MofCompiler;
  132. #else
  133. typedef struct MofCompiler MofCompiler;
  134. #endif /* __cplusplus */
  135. #endif  /* __MofCompiler_FWD_DEFINED__ */
  136. #ifndef __WbemStatusCodeText_FWD_DEFINED__
  137. #define __WbemStatusCodeText_FWD_DEFINED__
  138. #ifdef __cplusplus
  139. typedef class WbemStatusCodeText WbemStatusCodeText;
  140. #else
  141. typedef struct WbemStatusCodeText WbemStatusCodeText;
  142. #endif /* __cplusplus */
  143. #endif  /* __WbemStatusCodeText_FWD_DEFINED__ */
  144. #ifndef __WbemBackupRestore_FWD_DEFINED__
  145. #define __WbemBackupRestore_FWD_DEFINED__
  146. #ifdef __cplusplus
  147. typedef class WbemBackupRestore WbemBackupRestore;
  148. #else
  149. typedef struct WbemBackupRestore WbemBackupRestore;
  150. #endif /* __cplusplus */
  151. #endif  /* __WbemBackupRestore_FWD_DEFINED__ */
  152. #ifndef __WbemRefresher_FWD_DEFINED__
  153. #define __WbemRefresher_FWD_DEFINED__
  154. #ifdef __cplusplus
  155. typedef class WbemRefresher WbemRefresher;
  156. #else
  157. typedef struct WbemRefresher WbemRefresher;
  158. #endif /* __cplusplus */
  159. #endif  /* __WbemRefresher_FWD_DEFINED__ */
  160. #ifndef __WbemObjectTextSrc_FWD_DEFINED__
  161. #define __WbemObjectTextSrc_FWD_DEFINED__
  162. #ifdef __cplusplus
  163. typedef class WbemObjectTextSrc WbemObjectTextSrc;
  164. #else
  165. typedef struct WbemObjectTextSrc WbemObjectTextSrc;
  166. #endif /* __cplusplus */
  167. #endif  /* __WbemObjectTextSrc_FWD_DEFINED__ */
  168. #ifndef __IWbemClassObject_FWD_DEFINED__
  169. #define __IWbemClassObject_FWD_DEFINED__
  170. typedef interface IWbemClassObject IWbemClassObject;
  171. #endif  /* __IWbemClassObject_FWD_DEFINED__ */
  172. #ifndef __IWbemQualifierSet_FWD_DEFINED__
  173. #define __IWbemQualifierSet_FWD_DEFINED__
  174. typedef interface IWbemQualifierSet IWbemQualifierSet;
  175. #endif  /* __IWbemQualifierSet_FWD_DEFINED__ */
  176. #ifndef __IWbemLocator_FWD_DEFINED__
  177. #define __IWbemLocator_FWD_DEFINED__
  178. typedef interface IWbemLocator IWbemLocator;
  179. #endif  /* __IWbemLocator_FWD_DEFINED__ */
  180. #ifndef __IWbemObjectSink_FWD_DEFINED__
  181. #define __IWbemObjectSink_FWD_DEFINED__
  182. typedef interface IWbemObjectSink IWbemObjectSink;
  183. #endif  /* __IWbemObjectSink_FWD_DEFINED__ */
  184. #ifndef __IEnumWbemClassObject_FWD_DEFINED__
  185. #define __IEnumWbemClassObject_FWD_DEFINED__
  186. typedef interface IEnumWbemClassObject IEnumWbemClassObject;
  187. #endif  /* __IEnumWbemClassObject_FWD_DEFINED__ */
  188. #ifndef __IWbemContext_FWD_DEFINED__
  189. #define __IWbemContext_FWD_DEFINED__
  190. typedef interface IWbemContext IWbemContext;
  191. #endif  /* __IWbemContext_FWD_DEFINED__ */
  192. #ifndef __IWbemCallResult_FWD_DEFINED__
  193. #define __IWbemCallResult_FWD_DEFINED__
  194. typedef interface IWbemCallResult IWbemCallResult;
  195. #endif  /* __IWbemCallResult_FWD_DEFINED__ */
  196. #ifndef __IWbemServices_FWD_DEFINED__
  197. #define __IWbemServices_FWD_DEFINED__
  198. typedef interface IWbemServices IWbemServices;
  199. #endif  /* __IWbemServices_FWD_DEFINED__ */
  200. #ifndef __IWbemRawSdAccessor_FWD_DEFINED__
  201. #define __IWbemRawSdAccessor_FWD_DEFINED__
  202. typedef interface IWbemRawSdAccessor IWbemRawSdAccessor;
  203. #endif  /* __IWbemRawSdAccessor_FWD_DEFINED__ */
  204. #ifndef __IWbemShutdown_FWD_DEFINED__
  205. #define __IWbemShutdown_FWD_DEFINED__
  206. typedef interface IWbemShutdown IWbemShutdown;
  207. #endif  /* __IWbemShutdown_FWD_DEFINED__ */
  208. #ifndef __IWbemCallStatus_FWD_DEFINED__
  209. #define __IWbemCallStatus_FWD_DEFINED__
  210. typedef interface IWbemCallStatus IWbemCallStatus;
  211. #endif  /* __IWbemCallStatus_FWD_DEFINED__ */
  212. #ifndef __IWbemObjectTextSrc_FWD_DEFINED__
  213. #define __IWbemObjectTextSrc_FWD_DEFINED__
  214. typedef interface IWbemObjectTextSrc IWbemObjectTextSrc;
  215. #endif  /* __IWbemObjectTextSrc_FWD_DEFINED__ */
  216. #ifndef __IWbemObjectAccess_FWD_DEFINED__
  217. #define __IWbemObjectAccess_FWD_DEFINED__
  218. typedef interface IWbemObjectAccess IWbemObjectAccess;
  219. #endif  /* __IWbemObjectAccess_FWD_DEFINED__ */
  220. #ifndef __IMofCompiler_FWD_DEFINED__
  221. #define __IMofCompiler_FWD_DEFINED__
  222. typedef interface IMofCompiler IMofCompiler;
  223. #endif  /* __IMofCompiler_FWD_DEFINED__ */
  224. #ifndef __IUnsecuredApartment_FWD_DEFINED__
  225. #define __IUnsecuredApartment_FWD_DEFINED__
  226. typedef interface IUnsecuredApartment IUnsecuredApartment;
  227. #endif  /* __IUnsecuredApartment_FWD_DEFINED__ */
  228. #ifndef __IWbemStatusCodeText_FWD_DEFINED__
  229. #define __IWbemStatusCodeText_FWD_DEFINED__
  230. typedef interface IWbemStatusCodeText IWbemStatusCodeText;
  231. #endif  /* __IWbemStatusCodeText_FWD_DEFINED__ */
  232. #ifndef __IWbemBackupRestore_FWD_DEFINED__
  233. #define __IWbemBackupRestore_FWD_DEFINED__
  234. typedef interface IWbemBackupRestore IWbemBackupRestore;
  235. #endif  /* __IWbemBackupRestore_FWD_DEFINED__ */
  236. #ifndef __IWbemBackupRestoreEx_FWD_DEFINED__
  237. #define __IWbemBackupRestoreEx_FWD_DEFINED__
  238. typedef interface IWbemBackupRestoreEx IWbemBackupRestoreEx;
  239. #endif  /* __IWbemBackupRestoreEx_FWD_DEFINED__ */
  240. #ifndef __IWbemRefresher_FWD_DEFINED__
  241. #define __IWbemRefresher_FWD_DEFINED__
  242. typedef interface IWbemRefresher IWbemRefresher;
  243. #endif  /* __IWbemRefresher_FWD_DEFINED__ */
  244. #ifndef __IWbemHiPerfEnum_FWD_DEFINED__
  245. #define __IWbemHiPerfEnum_FWD_DEFINED__
  246. typedef interface IWbemHiPerfEnum IWbemHiPerfEnum;
  247. #endif  /* __IWbemHiPerfEnum_FWD_DEFINED__ */
  248. #ifndef __IWbemConfigureRefresher_FWD_DEFINED__
  249. #define __IWbemConfigureRefresher_FWD_DEFINED__
  250. typedef interface IWbemConfigureRefresher IWbemConfigureRefresher;
  251. #endif  /* __IWbemConfigureRefresher_FWD_DEFINED__ */
  252. #ifdef __cplusplus
  253. extern "C"{
  254. #endif 
  255. void * __RPC_USER MIDL_user_allocate(size_t);
  256. void __RPC_USER MIDL_user_free( void * ); 
  257. #ifndef __WbemClient_v1_LIBRARY_DEFINED__
  258. #define __WbemClient_v1_LIBRARY_DEFINED__
  259. /* library WbemClient_v1 */
  260. /* [uuid] */ 
  261. typedef /* [v1_enum] */ 
  262. enum tag_WBEM_GENUS_TYPE
  263.     { WBEM_GENUS_CLASS = 1,
  264. WBEM_GENUS_INSTANCE = 2
  265.     }  WBEM_GENUS_TYPE;
  266. typedef /* [v1_enum] */ 
  267. enum tag_WBEM_CHANGE_FLAG_TYPE
  268.     { WBEM_FLAG_CREATE_OR_UPDATE = 0,
  269. WBEM_FLAG_UPDATE_ONLY = 0x1,
  270. WBEM_FLAG_CREATE_ONLY = 0x2,
  271. WBEM_FLAG_UPDATE_COMPATIBLE = 0,
  272. WBEM_FLAG_UPDATE_SAFE_MODE = 0x20,
  273. WBEM_FLAG_UPDATE_FORCE_MODE = 0x40,
  274. WBEM_MASK_UPDATE_MODE = 0x60,
  275. WBEM_FLAG_ADVISORY = 0x10000
  276.     }  WBEM_CHANGE_FLAG_TYPE;
  277. typedef /* [v1_enum] */ 
  278. enum tag_WBEM_GENERIC_FLAG_TYPE
  279.     { WBEM_FLAG_RETURN_IMMEDIATELY = 0x10,
  280. WBEM_FLAG_RETURN_WBEM_COMPLETE = 0,
  281. WBEM_FLAG_BIDIRECTIONAL = 0,
  282. WBEM_FLAG_FORWARD_ONLY = 0x20,
  283. WBEM_FLAG_NO_ERROR_OBJECT = 0x40,
  284. WBEM_FLAG_RETURN_ERROR_OBJECT = 0,
  285. WBEM_FLAG_SEND_STATUS = 0x80,
  286. WBEM_FLAG_DONT_SEND_STATUS = 0,
  287. WBEM_FLAG_ENSURE_LOCATABLE = 0x100,
  288. WBEM_FLAG_DIRECT_READ = 0x200,
  289. WBEM_FLAG_SEND_ONLY_SELECTED = 0,
  290. WBEM_RETURN_WHEN_COMPLETE = 0,
  291. WBEM_RETURN_IMMEDIATELY = 0x10,
  292. WBEM_MASK_RESERVED_FLAGS = 0x1f000,
  293. WBEM_FLAG_USE_AMENDED_QUALIFIERS = 0x20000,
  294. WBEM_FLAG_STRONG_VALIDATION = 0x100000
  295.     }  WBEM_GENERIC_FLAG_TYPE;
  296. typedef 
  297. enum tag_WBEM_STATUS_TYPE
  298.     { WBEM_STATUS_COMPLETE = 0,
  299. WBEM_STATUS_REQUIREMENTS = 1,
  300. WBEM_STATUS_PROGRESS = 2
  301.     }  WBEM_STATUS_TYPE;
  302. typedef /* [v1_enum] */ 
  303. enum tag_WBEM_TIMEOUT_TYPE
  304.     { WBEM_NO_WAIT = 0,
  305. WBEM_INFINITE = 0xffffffff
  306.     }  WBEM_TIMEOUT_TYPE;
  307. typedef /* [v1_enum] */ 
  308. enum tag_WBEM_CONDITION_FLAG_TYPE
  309.     { WBEM_FLAG_ALWAYS = 0,
  310. WBEM_FLAG_ONLY_IF_TRUE = 0x1,
  311. WBEM_FLAG_ONLY_IF_FALSE = 0x2,
  312. WBEM_FLAG_ONLY_IF_IDENTICAL = 0x3,
  313. WBEM_MASK_PRIMARY_CONDITION = 0x3,
  314. WBEM_FLAG_KEYS_ONLY = 0x4,
  315. WBEM_FLAG_REFS_ONLY = 0x8,
  316. WBEM_FLAG_LOCAL_ONLY = 0x10,
  317. WBEM_FLAG_PROPAGATED_ONLY = 0x20,
  318. WBEM_FLAG_SYSTEM_ONLY = 0x30,
  319. WBEM_FLAG_NONSYSTEM_ONLY = 0x40,
  320. WBEM_MASK_CONDITION_ORIGIN = 0x70,
  321. WBEM_FLAG_CLASS_OVERRIDES_ONLY = 0x100,
  322. WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES = 0x200,
  323. WBEM_MASK_CLASS_CONDITION = 0x300
  324.     }  WBEM_CONDITION_FLAG_TYPE;
  325. typedef /* [v1_enum] */ 
  326. enum tag_WBEM_FLAVOR_TYPE
  327.     { WBEM_FLAVOR_DONT_PROPAGATE = 0,
  328. WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE = 0x1,
  329. WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS = 0x2,
  330. WBEM_FLAVOR_MASK_PROPAGATION = 0xf,
  331. WBEM_FLAVOR_OVERRIDABLE = 0,
  332. WBEM_FLAVOR_NOT_OVERRIDABLE = 0x10,
  333. WBEM_FLAVOR_MASK_PERMISSIONS = 0x10,
  334. WBEM_FLAVOR_ORIGIN_LOCAL = 0,
  335. WBEM_FLAVOR_ORIGIN_PROPAGATED = 0x20,
  336. WBEM_FLAVOR_ORIGIN_SYSTEM = 0x40,
  337. WBEM_FLAVOR_MASK_ORIGIN = 0x60,
  338. WBEM_FLAVOR_NOT_AMENDED = 0,
  339. WBEM_FLAVOR_AMENDED = 0x80,
  340. WBEM_FLAVOR_MASK_AMENDED = 0x80
  341.     }  WBEM_FLAVOR_TYPE;
  342. typedef /* [v1_enum] */ 
  343. enum tag_WBEM_QUERY_FLAG_TYPE
  344.     { WBEM_FLAG_DEEP = 0,
  345. WBEM_FLAG_SHALLOW = 1,
  346. WBEM_FLAG_PROTOTYPE = 2
  347.     }  WBEM_QUERY_FLAG_TYPE;
  348. typedef /* [v1_enum] */ 
  349. enum tag_WBEM_SECURITY_FLAGS
  350.     { WBEM_ENABLE = 1,
  351. WBEM_METHOD_EXECUTE = 2,
  352. WBEM_FULL_WRITE_REP = 4,
  353. WBEM_PARTIAL_WRITE_REP = 8,
  354. WBEM_WRITE_PROVIDER = 0x10,
  355. WBEM_REMOTE_ACCESS = 0x20,
  356. WBEM_RIGHT_SUBSCRIBE = 0x40,
  357. WBEM_RIGHT_PUBLISH = 0x80
  358.     }  WBEM_SECURITY_FLAGS;
  359. typedef /* [v1_enum] */ 
  360. enum tag_WBEM_LIMITATION_FLAG_TYPE
  361.     { WBEM_FLAG_EXCLUDE_OBJECT_QUALIFIERS = 0x10,
  362. WBEM_FLAG_EXCLUDE_PROPERTY_QUALIFIERS = 0x20
  363.     }  WBEM_LIMITATION_FLAG_TYPE;
  364. typedef /* [v1_enum] */ 
  365. enum tag_WBEM_TEXT_FLAG_TYPE
  366.     { WBEM_FLAG_NO_FLAVORS = 0x1
  367.     }  WBEM_TEXT_FLAG_TYPE;
  368. typedef /* [v1_enum] */ 
  369. enum tag_WBEM_COMPARISON_FLAG
  370.     { WBEM_COMPARISON_INCLUDE_ALL = 0,
  371. WBEM_FLAG_IGNORE_QUALIFIERS = 0x1,
  372. WBEM_FLAG_IGNORE_OBJECT_SOURCE = 0x2,
  373. WBEM_FLAG_IGNORE_DEFAULT_VALUES = 0x4,
  374. WBEM_FLAG_IGNORE_CLASS = 0x8,
  375. WBEM_FLAG_IGNORE_CASE = 0x10,
  376. WBEM_FLAG_IGNORE_FLAVOR = 0x20
  377.     }  WBEM_COMPARISON_FLAG;
  378. typedef /* [v1_enum] */ 
  379. enum tag_WBEM_LOCKING
  380.     { WBEM_FLAG_ALLOW_READ = 0x1
  381.     }  WBEM_LOCKING_FLAG_TYPE;
  382. typedef /* [v1_enum] */ 
  383. enum tag_CIMTYPE_ENUMERATION
  384.     { CIM_ILLEGAL = 0xfff,
  385. CIM_EMPTY = 0,
  386. CIM_SINT8 = 16,
  387. CIM_UINT8 = 17,
  388. CIM_SINT16 = 2,
  389. CIM_UINT16 = 18,
  390. CIM_SINT32 = 3,
  391. CIM_UINT32 = 19,
  392. CIM_SINT64 = 20,
  393. CIM_UINT64 = 21,
  394. CIM_REAL32 = 4,
  395. CIM_REAL64 = 5,
  396. CIM_BOOLEAN = 11,
  397. CIM_STRING = 8,
  398. CIM_DATETIME = 101,
  399. CIM_REFERENCE = 102,
  400. CIM_CHAR16 = 103,
  401. CIM_OBJECT = 13,
  402. CIM_FLAG_ARRAY = 0x2000
  403.     }  CIMTYPE_ENUMERATION;
  404. typedef /* [v1_enum] */ 
  405. enum tag_WBEM_BACKUP_RESTORE_FLAGS
  406.     { WBEM_FLAG_BACKUP_RESTORE_DEFAULT = 0,
  407. WBEM_FLAG_BACKUP_RESTORE_FORCE_SHUTDOWN = 1
  408.     }  WBEM_BACKUP_RESTORE_FLAGS;
  409. typedef /* [v1_enum] */ 
  410. enum tag_WBEM_REFRESHER_FLAGS
  411.     { WBEM_FLAG_REFRESH_AUTO_RECONNECT = 0,
  412. WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT = 1
  413.     }  WBEM_REFRESHER_FLAGS;
  414. typedef 
  415. enum tag_WBEM_SHUTDOWN_FLAGS
  416.     { WBEM_SHUTDOWN_UNLOAD_COMPONENT = 1,
  417. WBEM_SHUTDOWN_WMI = 2,
  418. WBEM_SHUTDOWN_OS = 3
  419.     }  WBEM_SHUTDOWN_FLAGS;
  420. typedef long CIMTYPE;
  421. typedef /* [v1_enum] */ 
  422. enum tag_WBEMSTATUS_FORMAT
  423.     { WBEMSTATUS_FORMAT_NEWLINE = 0,
  424. WBEMSTATUS_FORMAT_NO_NEWLINE = 1
  425.     }  WBEMSTATUS_FORMAT;
  426. typedef /* [v1_enum] */ 
  427. enum tag_WBEMSTATUS
  428.     { WBEM_NO_ERROR = 0,
  429. WBEM_S_NO_ERROR = 0,
  430. WBEM_S_SAME = 0,
  431. WBEM_S_FALSE = 1,
  432. WBEM_S_ALREADY_EXISTS = 0x40001,
  433. WBEM_S_RESET_TO_DEFAULT = 0x40002,
  434. WBEM_S_DIFFERENT = 0x40003,
  435. WBEM_S_TIMEDOUT = 0x40004,
  436. WBEM_S_NO_MORE_DATA = 0x40005,
  437. WBEM_S_OPERATION_CANCELLED = 0x40006,
  438. WBEM_S_PENDING = 0x40007,
  439. WBEM_S_DUPLICATE_OBJECTS = 0x40008,
  440. WBEM_S_ACCESS_DENIED = 0x40009,
  441. WBEM_S_PARTIAL_RESULTS = 0x40010,
  442. WBEM_S_SOURCE_NOT_AVAILABLE = 0x40017,
  443. WBEM_E_FAILED = 0x80041001,
  444. WBEM_E_NOT_FOUND = 0x80041002,
  445. WBEM_E_ACCESS_DENIED = 0x80041003,
  446. WBEM_E_PROVIDER_FAILURE = 0x80041004,
  447. WBEM_E_TYPE_MISMATCH = 0x80041005,
  448. WBEM_E_OUT_OF_MEMORY = 0x80041006,
  449. WBEM_E_INVALID_CONTEXT = 0x80041007,
  450. WBEM_E_INVALID_PARAMETER = 0x80041008,
  451. WBEM_E_NOT_AVAILABLE = 0x80041009,
  452. WBEM_E_CRITICAL_ERROR = 0x8004100a,
  453. WBEM_E_INVALID_STREAM = 0x8004100b,
  454. WBEM_E_NOT_SUPPORTED = 0x8004100c,
  455. WBEM_E_INVALID_SUPERCLASS = 0x8004100d,
  456. WBEM_E_INVALID_NAMESPACE = 0x8004100e,
  457. WBEM_E_INVALID_OBJECT = 0x8004100f,
  458. WBEM_E_INVALID_CLASS = 0x80041010,
  459. WBEM_E_PROVIDER_NOT_FOUND = 0x80041011,
  460. WBEM_E_INVALID_PROVIDER_REGISTRATION = 0x80041012,
  461. WBEM_E_PROVIDER_LOAD_FAILURE = 0x80041013,
  462. WBEM_E_INITIALIZATION_FAILURE = 0x80041014,
  463. WBEM_E_TRANSPORT_FAILURE = 0x80041015,
  464. WBEM_E_INVALID_OPERATION = 0x80041016,
  465. WBEM_E_INVALID_QUERY = 0x80041017,
  466. WBEM_E_INVALID_QUERY_TYPE = 0x80041018,
  467. WBEM_E_ALREADY_EXISTS = 0x80041019,
  468. WBEM_E_OVERRIDE_NOT_ALLOWED = 0x8004101a,
  469. WBEM_E_PROPAGATED_QUALIFIER = 0x8004101b,
  470. WBEM_E_PROPAGATED_PROPERTY = 0x8004101c,
  471. WBEM_E_UNEXPECTED = 0x8004101d,
  472. WBEM_E_ILLEGAL_OPERATION = 0x8004101e,
  473. WBEM_E_CANNOT_BE_KEY = 0x8004101f,
  474. WBEM_E_INCOMPLETE_CLASS = 0x80041020,
  475. WBEM_E_INVALID_SYNTAX = 0x80041021,
  476. WBEM_E_NONDECORATED_OBJECT = 0x80041022,
  477. WBEM_E_READ_ONLY = 0x80041023,
  478. WBEM_E_PROVIDER_NOT_CAPABLE = 0x80041024,
  479. WBEM_E_CLASS_HAS_CHILDREN = 0x80041025,
  480. WBEM_E_CLASS_HAS_INSTANCES = 0x80041026,
  481. WBEM_E_QUERY_NOT_IMPLEMENTED = 0x80041027,
  482. WBEM_E_ILLEGAL_NULL = 0x80041028,
  483. WBEM_E_INVALID_QUALIFIER_TYPE = 0x80041029,
  484. WBEM_E_INVALID_PROPERTY_TYPE = 0x8004102a,
  485. WBEM_E_VALUE_OUT_OF_RANGE = 0x8004102b,
  486. WBEM_E_CANNOT_BE_SINGLETON = 0x8004102c,
  487. WBEM_E_INVALID_CIM_TYPE = 0x8004102d,
  488. WBEM_E_INVALID_METHOD = 0x8004102e,
  489. WBEM_E_INVALID_METHOD_PARAMETERS = 0x8004102f,
  490. WBEM_E_SYSTEM_PROPERTY = 0x80041030,
  491. WBEM_E_INVALID_PROPERTY = 0x80041031,
  492. WBEM_E_CALL_CANCELLED = 0x80041032,
  493. WBEM_E_SHUTTING_DOWN = 0x80041033,
  494. WBEM_E_PROPAGATED_METHOD = 0x80041034,
  495. WBEM_E_UNSUPPORTED_PARAMETER = 0x80041035,
  496. WBEM_E_MISSING_PARAMETER_ID = 0x80041036,
  497. WBEM_E_INVALID_PARAMETER_ID = 0x80041037,
  498. WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = 0x80041038,
  499. WBEM_E_PARAMETER_ID_ON_RETVAL = 0x80041039,
  500. WBEM_E_INVALID_OBJECT_PATH = 0x8004103a,
  501. WBEM_E_OUT_OF_DISK_SPACE = 0x8004103b,
  502. WBEM_E_BUFFER_TOO_SMALL = 0x8004103c,
  503. WBEM_E_UNSUPPORTED_PUT_EXTENSION = 0x8004103d,
  504. WBEM_E_UNKNOWN_OBJECT_TYPE = 0x8004103e,
  505. WBEM_E_UNKNOWN_PACKET_TYPE = 0x8004103f,
  506. WBEM_E_MARSHAL_VERSION_MISMATCH = 0x80041040,
  507. WBEM_E_MARSHAL_INVALID_SIGNATURE = 0x80041041,
  508. WBEM_E_INVALID_QUALIFIER = 0x80041042,
  509. WBEM_E_INVALID_DUPLICATE_PARAMETER = 0x80041043,
  510. WBEM_E_TOO_MUCH_DATA = 0x80041044,
  511. WBEM_E_SERVER_TOO_BUSY = 0x80041045,
  512. WBEM_E_INVALID_FLAVOR = 0x80041046,
  513. WBEM_E_CIRCULAR_REFERENCE = 0x80041047,
  514. WBEM_E_UNSUPPORTED_CLASS_UPDATE = 0x80041048,
  515. WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = 0x80041049,
  516. WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = 0x80041050,
  517. WBEM_E_TOO_MANY_PROPERTIES = 0x80041051,
  518. WBEM_E_UPDATE_TYPE_MISMATCH = 0x80041052,
  519. WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = 0x80041053,
  520. WBEM_E_UPDATE_PROPAGATED_METHOD = 0x80041054,
  521. WBEM_E_METHOD_NOT_IMPLEMENTED = 0x80041055,
  522. WBEM_E_METHOD_DISABLED = 0x80041056,
  523. WBEM_E_REFRESHER_BUSY = 0x80041057,
  524. WBEM_E_UNPARSABLE_QUERY = 0x80041058,
  525. WBEM_E_NOT_EVENT_CLASS = 0x80041059,
  526. WBEM_E_MISSING_GROUP_WITHIN = 0x8004105a,
  527. WBEM_E_MISSING_AGGREGATION_LIST = 0x8004105b,
  528. WBEM_E_PROPERTY_NOT_AN_OBJECT = 0x8004105c,
  529. WBEM_E_AGGREGATING_BY_OBJECT = 0x8004105d,
  530. WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = 0x8004105f,
  531. WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = 0x80041060,
  532. WBEM_E_QUEUE_OVERFLOW = 0x80041061,
  533. WBEM_E_PRIVILEGE_NOT_HELD = 0x80041062,
  534. WBEM_E_INVALID_OPERATOR = 0x80041063,
  535. WBEM_E_LOCAL_CREDENTIALS = 0x80041064,
  536. WBEM_E_CANNOT_BE_ABSTRACT = 0x80041065,
  537. WBEM_E_AMENDED_OBJECT = 0x80041066,
  538. WBEM_E_CLIENT_TOO_SLOW = 0x80041067,
  539. WBEM_E_NULL_SECURITY_DESCRIPTOR = 0x80041068,
  540. WBEM_E_TIMED_OUT = 0x80041069,
  541. WBEM_E_INVALID_ASSOCIATION = 0x8004106a,
  542. WBEM_E_AMBIGUOUS_OPERATION = 0x8004106b,
  543. WBEM_E_QUOTA_VIOLATION = 0x8004106c,
  544. WBEM_E_RESERVED_001 = 0x8004106d,
  545. WBEM_E_RESERVED_002 = 0x8004106e,
  546. WBEM_E_UNSUPPORTED_LOCALE = 0x8004106f,
  547. WBEM_E_HANDLE_OUT_OF_DATE = 0x80041070,
  548. WBEM_E_CONNECTION_FAILED = 0x80041071,
  549. WBEM_E_INVALID_HANDLE_REQUEST = 0x80041072,
  550. WBEM_E_PROPERTY_NAME_TOO_WIDE = 0x80041073,
  551. WBEM_E_CLASS_NAME_TOO_WIDE = 0x80041074,
  552. WBEM_E_METHOD_NAME_TOO_WIDE = 0x80041075,
  553. WBEM_E_QUALIFIER_NAME_TOO_WIDE = 0x80041076,
  554. WBEM_E_RERUN_COMMAND = 0x80041077,
  555. WBEM_E_DATABASE_VER_MISMATCH = 0x80041078,
  556. WBEM_E_VETO_DELETE = 0x80041079,
  557. WBEM_E_VETO_PUT = 0x8004107a,
  558. WBEM_E_INVALID_LOCALE = 0x80041080,
  559. WBEM_E_PROVIDER_SUSPENDED = 0x80041081,
  560. WBEM_E_SYNCHRONIZATION_REQUIRED = 0x80041082,
  561. WBEM_E_NO_SCHEMA = 0x80041083,
  562. WBEM_E_PROVIDER_ALREADY_REGISTERED = 0x80041084,
  563. WBEM_E_PROVIDER_NOT_REGISTERED = 0x80041085,
  564. WBEM_E_FATAL_TRANSPORT_ERROR = 0x80041086,
  565. WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = 0x80041087,
  566. WBEM_E_PROVIDER_TIMED_OUT = 0x80041088,
  567. WBEM_E_NO_KEY = 0x80041089,
  568. WBEM_E_PROVIDER_DISABLED = 0x8004108a,
  569. WBEMESS_E_REGISTRATION_TOO_BROAD = 0x80042001,
  570. WBEMESS_E_REGISTRATION_TOO_PRECISE = 0x80042002,
  571. WBEMMOF_E_EXPECTED_QUALIFIER_NAME = 0x80044001,
  572. WBEMMOF_E_EXPECTED_SEMI = 0x80044002,
  573. WBEMMOF_E_EXPECTED_OPEN_BRACE = 0x80044003,
  574. WBEMMOF_E_EXPECTED_CLOSE_BRACE = 0x80044004,
  575. WBEMMOF_E_EXPECTED_CLOSE_BRACKET = 0x80044005,
  576. WBEMMOF_E_EXPECTED_CLOSE_PAREN = 0x80044006,
  577. WBEMMOF_E_ILLEGAL_CONSTANT_VALUE = 0x80044007,
  578. WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER = 0x80044008,
  579. WBEMMOF_E_EXPECTED_OPEN_PAREN = 0x80044009,
  580. WBEMMOF_E_UNRECOGNIZED_TOKEN = 0x8004400a,
  581. WBEMMOF_E_UNRECOGNIZED_TYPE = 0x8004400b,
  582. WBEMMOF_E_EXPECTED_PROPERTY_NAME = 0x8004400c,
  583. WBEMMOF_E_TYPEDEF_NOT_SUPPORTED = 0x8004400d,
  584. WBEMMOF_E_UNEXPECTED_ALIAS = 0x8004400e,
  585. WBEMMOF_E_UNEXPECTED_ARRAY_INIT = 0x8004400f,
  586. WBEMMOF_E_INVALID_AMENDMENT_SYNTAX = 0x80044010,
  587. WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT = 0x80044011,
  588. WBEMMOF_E_INVALID_PRAGMA = 0x80044012,
  589. WBEMMOF_E_INVALID_NAMESPACE_SYNTAX = 0x80044013,
  590. WBEMMOF_E_EXPECTED_CLASS_NAME = 0x80044014,
  591. WBEMMOF_E_TYPE_MISMATCH = 0x80044015,
  592. WBEMMOF_E_EXPECTED_ALIAS_NAME = 0x80044016,
  593. WBEMMOF_E_INVALID_CLASS_DECLARATION = 0x80044017,
  594. WBEMMOF_E_INVALID_INSTANCE_DECLARATION = 0x80044018,
  595. WBEMMOF_E_EXPECTED_DOLLAR = 0x80044019,
  596. WBEMMOF_E_CIMTYPE_QUALIFIER = 0x8004401a,
  597. WBEMMOF_E_DUPLICATE_PROPERTY = 0x8004401b,
  598. WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION = 0x8004401c,
  599. WBEMMOF_E_OUT_OF_RANGE = 0x8004401d,
  600. WBEMMOF_E_INVALID_FILE = 0x8004401e,
  601. WBEMMOF_E_ALIASES_IN_EMBEDDED = 0x8004401f,
  602. WBEMMOF_E_NULL_ARRAY_ELEM = 0x80044020,
  603. WBEMMOF_E_DUPLICATE_QUALIFIER = 0x80044021,
  604. WBEMMOF_E_EXPECTED_FLAVOR_TYPE = 0x80044022,
  605. WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES = 0x80044023,
  606. WBEMMOF_E_MULTIPLE_ALIASES = 0x80044024,
  607. WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2 = 0x80044025,
  608. WBEMMOF_E_NO_ARRAYS_RETURNED = 0x80044026,
  609. WBEMMOF_E_MUST_BE_IN_OR_OUT = 0x80044027,
  610. WBEMMOF_E_INVALID_FLAGS_SYNTAX = 0x80044028,
  611. WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE = 0x80044029,
  612. WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE = 0x8004402a,
  613. WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE = 0x8004402b,
  614. WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX = 0x8004402c,
  615. WBEMMOF_E_INVALID_QUALIFIER_SYNTAX = 0x8004402d,
  616. WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE = 0x8004402e,
  617. WBEMMOF_E_ERROR_CREATING_TEMP_FILE = 0x8004402f,
  618. WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE = 0x80044030,
  619. WBEMMOF_E_INVALID_DELETECLASS_SYNTAX = 0x80044031
  620.     }  WBEMSTATUS;
  621. EXTERN_C const IID LIBID_WbemClient_v1;
  622. #ifndef __IWbemClassObject_INTERFACE_DEFINED__
  623. #define __IWbemClassObject_INTERFACE_DEFINED__
  624. /* interface IWbemClassObject */
  625. /* [uuid][object][restricted][local] */ 
  626. EXTERN_C const IID IID_IWbemClassObject;
  627. #if defined(__cplusplus) && !defined(CINTERFACE)
  628.     
  629.     MIDL_INTERFACE("dc12a681-737f-11cf-884d-00aa004b2e24")
  630.     IWbemClassObject : public IUnknown
  631.     {
  632.     public:
  633.         virtual HRESULT STDMETHODCALLTYPE GetQualifierSet( 
  634.             /* [out] */ IWbemQualifierSet **ppQualSet) = 0;
  635.         
  636.         virtual HRESULT STDMETHODCALLTYPE Get( 
  637.             /* [string][in] */ LPCWSTR wszName,
  638.             /* [in] */ long lFlags,
  639.             /* [unique][in][out] */ VARIANT *pVal,
  640.             /* [unique][in][out] */ CIMTYPE *pType,
  641.             /* [unique][in][out] */ long *plFlavor) = 0;
  642.         
  643.         virtual HRESULT STDMETHODCALLTYPE Put( 
  644.             /* [string][in] */ LPCWSTR wszName,
  645.             /* [in] */ long lFlags,
  646.             /* [in] */ VARIANT *pVal,
  647.             /* [in] */ CIMTYPE Type) = 0;
  648.         
  649.         virtual HRESULT STDMETHODCALLTYPE Delete( 
  650.             /* [string][in] */ LPCWSTR wszName) = 0;
  651.         
  652.         virtual HRESULT STDMETHODCALLTYPE GetNames( 
  653.             /* [string][in] */ LPCWSTR wszQualifierName,
  654.             /* [in] */ long lFlags,
  655.             /* [in] */ VARIANT *pQualifierVal,
  656.             /* [out] */ SAFEARRAY * *pNames) = 0;
  657.         
  658.         virtual HRESULT STDMETHODCALLTYPE BeginEnumeration( 
  659.             /* [in] */ long lEnumFlags) = 0;
  660.         
  661.         virtual HRESULT STDMETHODCALLTYPE Next( 
  662.             /* [in] */ long lFlags,
  663.             /* [unique][in][out] */ BSTR *strName,
  664.             /* [unique][in][out] */ VARIANT *pVal,
  665.             /* [unique][in][out] */ CIMTYPE *pType,
  666.             /* [unique][in][out] */ long *plFlavor) = 0;
  667.         
  668.         virtual HRESULT STDMETHODCALLTYPE EndEnumeration( void) = 0;
  669.         
  670.         virtual HRESULT STDMETHODCALLTYPE GetPropertyQualifierSet( 
  671.             /* [string][in] */ LPCWSTR wszProperty,
  672.             /* [out] */ IWbemQualifierSet **ppQualSet) = 0;
  673.         
  674.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  675.             /* [out] */ IWbemClassObject **ppCopy) = 0;
  676.         
  677.         virtual HRESULT STDMETHODCALLTYPE GetObjectText( 
  678.             /* [in] */ long lFlags,
  679.             /* [out] */ BSTR *pstrObjectText) = 0;
  680.         
  681.         virtual HRESULT STDMETHODCALLTYPE SpawnDerivedClass( 
  682.             /* [in] */ long lFlags,
  683.             /* [out] */ IWbemClassObject **ppNewClass) = 0;
  684.         
  685.         virtual HRESULT STDMETHODCALLTYPE SpawnInstance( 
  686.             /* [in] */ long lFlags,
  687.             /* [out] */ IWbemClassObject **ppNewInstance) = 0;
  688.         
  689.         virtual HRESULT STDMETHODCALLTYPE CompareTo( 
  690.             /* [in] */ long lFlags,
  691.             /* [in] */ IWbemClassObject *pCompareTo) = 0;
  692.         
  693.         virtual HRESULT STDMETHODCALLTYPE GetPropertyOrigin( 
  694.             /* [string][in] */ LPCWSTR wszName,
  695.             /* [out] */ BSTR *pstrClassName) = 0;
  696.         
  697.         virtual HRESULT STDMETHODCALLTYPE InheritsFrom( 
  698.             /* [in] */ LPCWSTR strAncestor) = 0;
  699.         
  700.         virtual HRESULT STDMETHODCALLTYPE GetMethod( 
  701.             /* [string][in] */ LPCWSTR wszName,
  702.             /* [in] */ long lFlags,
  703.             /* [out] */ IWbemClassObject **ppInSignature,
  704.             /* [out] */ IWbemClassObject **ppOutSignature) = 0;
  705.         
  706.         virtual HRESULT STDMETHODCALLTYPE PutMethod( 
  707.             /* [string][in] */ LPCWSTR wszName,
  708.             /* [in] */ long lFlags,
  709.             /* [in] */ IWbemClassObject *pInSignature,
  710.             /* [in] */ IWbemClassObject *pOutSignature) = 0;
  711.         
  712.         virtual HRESULT STDMETHODCALLTYPE DeleteMethod( 
  713.             /* [string][in] */ LPCWSTR wszName) = 0;
  714.         
  715.         virtual HRESULT STDMETHODCALLTYPE BeginMethodEnumeration( 
  716.             /* [in] */ long lEnumFlags) = 0;
  717.         
  718.         virtual HRESULT STDMETHODCALLTYPE NextMethod( 
  719.             /* [in] */ long lFlags,
  720.             /* [unique][in][out] */ BSTR *pstrName,
  721.             /* [unique][in][out] */ IWbemClassObject **ppInSignature,
  722.             /* [unique][in][out] */ IWbemClassObject **ppOutSignature) = 0;
  723.         
  724.         virtual HRESULT STDMETHODCALLTYPE EndMethodEnumeration( void) = 0;
  725.         
  726.         virtual HRESULT STDMETHODCALLTYPE GetMethodQualifierSet( 
  727.             /* [string][in] */ LPCWSTR wszMethod,
  728.             /* [out] */ IWbemQualifierSet **ppQualSet) = 0;
  729.         
  730.         virtual HRESULT STDMETHODCALLTYPE GetMethodOrigin( 
  731.             /* [string][in] */ LPCWSTR wszMethodName,
  732.             /* [out] */ BSTR *pstrClassName) = 0;
  733.         
  734.     };
  735.     
  736. #else  /* C style interface */
  737.     typedef struct IWbemClassObjectVtbl
  738.     {
  739.         BEGIN_INTERFACE
  740.         
  741.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  742.             IWbemClassObject * This,
  743.             /* [in] */ REFIID riid,
  744.             /* [iid_is][out] */ void **ppvObject);
  745.         
  746.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  747.             IWbemClassObject * This);
  748.         
  749.         ULONG ( STDMETHODCALLTYPE *Release )( 
  750.             IWbemClassObject * This);
  751.         
  752.         HRESULT ( STDMETHODCALLTYPE *GetQualifierSet )( 
  753.             IWbemClassObject * This,
  754.             /* [out] */ IWbemQualifierSet **ppQualSet);
  755.         
  756.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  757.             IWbemClassObject * This,
  758.             /* [string][in] */ LPCWSTR wszName,
  759.             /* [in] */ long lFlags,
  760.             /* [unique][in][out] */ VARIANT *pVal,
  761.             /* [unique][in][out] */ CIMTYPE *pType,
  762.             /* [unique][in][out] */ long *plFlavor);
  763.         
  764.         HRESULT ( STDMETHODCALLTYPE *Put )( 
  765.             IWbemClassObject * This,
  766.             /* [string][in] */ LPCWSTR wszName,
  767.             /* [in] */ long lFlags,
  768.             /* [in] */ VARIANT *pVal,
  769.             /* [in] */ CIMTYPE Type);
  770.         
  771.         HRESULT ( STDMETHODCALLTYPE *Delete )( 
  772.             IWbemClassObject * This,
  773.             /* [string][in] */ LPCWSTR wszName);
  774.         
  775.         HRESULT ( STDMETHODCALLTYPE *GetNames )( 
  776.             IWbemClassObject * This,
  777.             /* [string][in] */ LPCWSTR wszQualifierName,
  778.             /* [in] */ long lFlags,
  779.             /* [in] */ VARIANT *pQualifierVal,
  780.             /* [out] */ SAFEARRAY * *pNames);
  781.         
  782.         HRESULT ( STDMETHODCALLTYPE *BeginEnumeration )( 
  783.             IWbemClassObject * This,
  784.             /* [in] */ long lEnumFlags);
  785.         
  786.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  787.             IWbemClassObject * This,
  788.             /* [in] */ long lFlags,
  789.             /* [unique][in][out] */ BSTR *strName,
  790.             /* [unique][in][out] */ VARIANT *pVal,
  791.             /* [unique][in][out] */ CIMTYPE *pType,
  792.             /* [unique][in][out] */ long *plFlavor);
  793.         
  794.         HRESULT ( STDMETHODCALLTYPE *EndEnumeration )( 
  795.             IWbemClassObject * This);
  796.         
  797.         HRESULT ( STDMETHODCALLTYPE *GetPropertyQualifierSet )( 
  798.             IWbemClassObject * This,
  799.             /* [string][in] */ LPCWSTR wszProperty,
  800.             /* [out] */ IWbemQualifierSet **ppQualSet);
  801.         
  802.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  803.             IWbemClassObject * This,
  804.             /* [out] */ IWbemClassObject **ppCopy);
  805.         
  806.         HRESULT ( STDMETHODCALLTYPE *GetObjectText )( 
  807.             IWbemClassObject * This,
  808.             /* [in] */ long lFlags,
  809.             /* [out] */ BSTR *pstrObjectText);
  810.         
  811.         HRESULT ( STDMETHODCALLTYPE *SpawnDerivedClass )( 
  812.             IWbemClassObject * This,
  813.             /* [in] */ long lFlags,
  814.             /* [out] */ IWbemClassObject **ppNewClass);
  815.         
  816.         HRESULT ( STDMETHODCALLTYPE *SpawnInstance )( 
  817.             IWbemClassObject * This,
  818.             /* [in] */ long lFlags,
  819.             /* [out] */ IWbemClassObject **ppNewInstance);
  820.         
  821.         HRESULT ( STDMETHODCALLTYPE *CompareTo )( 
  822.             IWbemClassObject * This,
  823.             /* [in] */ long lFlags,
  824.             /* [in] */ IWbemClassObject *pCompareTo);
  825.         
  826.         HRESULT ( STDMETHODCALLTYPE *GetPropertyOrigin )( 
  827.             IWbemClassObject * This,
  828.             /* [string][in] */ LPCWSTR wszName,
  829.             /* [out] */ BSTR *pstrClassName);
  830.         
  831.         HRESULT ( STDMETHODCALLTYPE *InheritsFrom )( 
  832.             IWbemClassObject * This,
  833.             /* [in] */ LPCWSTR strAncestor);
  834.         
  835.         HRESULT ( STDMETHODCALLTYPE *GetMethod )( 
  836.             IWbemClassObject * This,
  837.             /* [string][in] */ LPCWSTR wszName,
  838.             /* [in] */ long lFlags,
  839.             /* [out] */ IWbemClassObject **ppInSignature,
  840.             /* [out] */ IWbemClassObject **ppOutSignature);
  841.         
  842.         HRESULT ( STDMETHODCALLTYPE *PutMethod )( 
  843.             IWbemClassObject * This,
  844.             /* [string][in] */ LPCWSTR wszName,
  845.             /* [in] */ long lFlags,
  846.             /* [in] */ IWbemClassObject *pInSignature,
  847.             /* [in] */ IWbemClassObject *pOutSignature);
  848.         
  849.         HRESULT ( STDMETHODCALLTYPE *DeleteMethod )( 
  850.             IWbemClassObject * This,
  851.             /* [string][in] */ LPCWSTR wszName);
  852.         
  853.         HRESULT ( STDMETHODCALLTYPE *BeginMethodEnumeration )( 
  854.             IWbemClassObject * This,
  855.             /* [in] */ long lEnumFlags);
  856.         
  857.         HRESULT ( STDMETHODCALLTYPE *NextMethod )( 
  858.             IWbemClassObject * This,
  859.             /* [in] */ long lFlags,
  860.             /* [unique][in][out] */ BSTR *pstrName,
  861.             /* [unique][in][out] */ IWbemClassObject **ppInSignature,
  862.             /* [unique][in][out] */ IWbemClassObject **ppOutSignature);
  863.         
  864.         HRESULT ( STDMETHODCALLTYPE *EndMethodEnumeration )( 
  865.             IWbemClassObject * This);
  866.         
  867.         HRESULT ( STDMETHODCALLTYPE *GetMethodQualifierSet )( 
  868.             IWbemClassObject * This,
  869.             /* [string][in] */ LPCWSTR wszMethod,
  870.             /* [out] */ IWbemQualifierSet **ppQualSet);
  871.         
  872.         HRESULT ( STDMETHODCALLTYPE *GetMethodOrigin )( 
  873.             IWbemClassObject * This,
  874.             /* [string][in] */ LPCWSTR wszMethodName,
  875.             /* [out] */ BSTR *pstrClassName);
  876.         
  877.         END_INTERFACE
  878.     } IWbemClassObjectVtbl;
  879.     interface IWbemClassObject
  880.     {
  881.         CONST_VTBL struct IWbemClassObjectVtbl *lpVtbl;
  882.     };
  883.     
  884. #ifdef COBJMACROS
  885. #define IWbemClassObject_QueryInterface(This,riid,ppvObject)
  886.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  887. #define IWbemClassObject_AddRef(This)
  888.     (This)->lpVtbl -> AddRef(This)
  889. #define IWbemClassObject_Release(This)
  890.     (This)->lpVtbl -> Release(This)
  891. #define IWbemClassObject_GetQualifierSet(This,ppQualSet)
  892.     (This)->lpVtbl -> GetQualifierSet(This,ppQualSet)
  893. #define IWbemClassObject_Get(This,wszName,lFlags,pVal,pType,plFlavor)
  894.     (This)->lpVtbl -> Get(This,wszName,lFlags,pVal,pType,plFlavor)
  895. #define IWbemClassObject_Put(This,wszName,lFlags,pVal,Type)
  896.     (This)->lpVtbl -> Put(This,wszName,lFlags,pVal,Type)
  897. #define IWbemClassObject_Delete(This,wszName)
  898.     (This)->lpVtbl -> Delete(This,wszName)
  899. #define IWbemClassObject_GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames)
  900.     (This)->lpVtbl -> GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames)
  901. #define IWbemClassObject_BeginEnumeration(This,lEnumFlags)
  902.     (This)->lpVtbl -> BeginEnumeration(This,lEnumFlags)
  903. #define IWbemClassObject_Next(This,lFlags,strName,pVal,pType,plFlavor)
  904.     (This)->lpVtbl -> Next(This,lFlags,strName,pVal,pType,plFlavor)
  905. #define IWbemClassObject_EndEnumeration(This)
  906.     (This)->lpVtbl -> EndEnumeration(This)
  907. #define IWbemClassObject_GetPropertyQualifierSet(This,wszProperty,ppQualSet)
  908.     (This)->lpVtbl -> GetPropertyQualifierSet(This,wszProperty,ppQualSet)
  909. #define IWbemClassObject_Clone(This,ppCopy)
  910.     (This)->lpVtbl -> Clone(This,ppCopy)
  911. #define IWbemClassObject_GetObjectText(This,lFlags,pstrObjectText)
  912.     (This)->lpVtbl -> GetObjectText(This,lFlags,pstrObjectText)
  913. #define IWbemClassObject_SpawnDerivedClass(This,lFlags,ppNewClass)
  914.     (This)->lpVtbl -> SpawnDerivedClass(This,lFlags,ppNewClass)
  915. #define IWbemClassObject_SpawnInstance(This,lFlags,ppNewInstance)
  916.     (This)->lpVtbl -> SpawnInstance(This,lFlags,ppNewInstance)
  917. #define IWbemClassObject_CompareTo(This,lFlags,pCompareTo)
  918.     (This)->lpVtbl -> CompareTo(This,lFlags,pCompareTo)
  919. #define IWbemClassObject_GetPropertyOrigin(This,wszName,pstrClassName)
  920.     (This)->lpVtbl -> GetPropertyOrigin(This,wszName,pstrClassName)
  921. #define IWbemClassObject_InheritsFrom(This,strAncestor)
  922.     (This)->lpVtbl -> InheritsFrom(This,strAncestor)
  923. #define IWbemClassObject_GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature)
  924.     (This)->lpVtbl -> GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature)
  925. #define IWbemClassObject_PutMethod(This,wszName,lFlags,pInSignature,pOutSignature)
  926.     (This)->lpVtbl -> PutMethod(This,wszName,lFlags,pInSignature,pOutSignature)
  927. #define IWbemClassObject_DeleteMethod(This,wszName)
  928.     (This)->lpVtbl -> DeleteMethod(This,wszName)
  929. #define IWbemClassObject_BeginMethodEnumeration(This,lEnumFlags)
  930.     (This)->lpVtbl -> BeginMethodEnumeration(This,lEnumFlags)
  931. #define IWbemClassObject_NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature)
  932.     (This)->lpVtbl -> NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature)
  933. #define IWbemClassObject_EndMethodEnumeration(This)
  934.     (This)->lpVtbl -> EndMethodEnumeration(This)
  935. #define IWbemClassObject_GetMethodQualifierSet(This,wszMethod,ppQualSet)
  936.     (This)->lpVtbl -> GetMethodQualifierSet(This,wszMethod,ppQualSet)
  937. #define IWbemClassObject_GetMethodOrigin(This,wszMethodName,pstrClassName)
  938.     (This)->lpVtbl -> GetMethodOrigin(This,wszMethodName,pstrClassName)
  939. #endif /* COBJMACROS */
  940. #endif  /* C style interface */
  941. HRESULT STDMETHODCALLTYPE IWbemClassObject_GetQualifierSet_Proxy( 
  942.     IWbemClassObject * This,
  943.     /* [out] */ IWbemQualifierSet **ppQualSet);
  944. void __RPC_STUB IWbemClassObject_GetQualifierSet_Stub(
  945.     IRpcStubBuffer *This,
  946.     IRpcChannelBuffer *_pRpcChannelBuffer,
  947.     PRPC_MESSAGE _pRpcMessage,
  948.     DWORD *_pdwStubPhase);
  949. HRESULT STDMETHODCALLTYPE IWbemClassObject_Get_Proxy( 
  950.     IWbemClassObject * This,
  951.     /* [string][in] */ LPCWSTR wszName,
  952.     /* [in] */ long lFlags,
  953.     /* [unique][in][out] */ VARIANT *pVal,
  954.     /* [unique][in][out] */ CIMTYPE *pType,
  955.     /* [unique][in][out] */ long *plFlavor);
  956. void __RPC_STUB IWbemClassObject_Get_Stub(
  957.     IRpcStubBuffer *This,
  958.     IRpcChannelBuffer *_pRpcChannelBuffer,
  959.     PRPC_MESSAGE _pRpcMessage,
  960.     DWORD *_pdwStubPhase);
  961. HRESULT STDMETHODCALLTYPE IWbemClassObject_Put_Proxy( 
  962.     IWbemClassObject * This,
  963.     /* [string][in] */ LPCWSTR wszName,
  964.     /* [in] */ long lFlags,
  965.     /* [in] */ VARIANT *pVal,
  966.     /* [in] */ CIMTYPE Type);
  967. void __RPC_STUB IWbemClassObject_Put_Stub(
  968.     IRpcStubBuffer *This,
  969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  970.     PRPC_MESSAGE _pRpcMessage,
  971.     DWORD *_pdwStubPhase);
  972. HRESULT STDMETHODCALLTYPE IWbemClassObject_Delete_Proxy( 
  973.     IWbemClassObject * This,
  974.     /* [string][in] */ LPCWSTR wszName);
  975. void __RPC_STUB IWbemClassObject_Delete_Stub(
  976.     IRpcStubBuffer *This,
  977.     IRpcChannelBuffer *_pRpcChannelBuffer,
  978.     PRPC_MESSAGE _pRpcMessage,
  979.     DWORD *_pdwStubPhase);
  980. HRESULT STDMETHODCALLTYPE IWbemClassObject_GetNames_Proxy( 
  981.     IWbemClassObject * This,
  982.     /* [string][in] */ LPCWSTR wszQualifierName,
  983.     /* [in] */ long lFlags,
  984.     /* [in] */ VARIANT *pQualifierVal,
  985.     /* [out] */ SAFEARRAY * *pNames);
  986. void __RPC_STUB IWbemClassObject_GetNames_Stub(
  987.     IRpcStubBuffer *This,
  988.     IRpcChannelBuffer *_pRpcChannelBuffer,
  989.     PRPC_MESSAGE _pRpcMessage,
  990.     DWORD *_pdwStubPhase);
  991. HRESULT STDMETHODCALLTYPE IWbemClassObject_BeginEnumeration_Proxy( 
  992.     IWbemClassObject * This,
  993.     /* [in] */ long lEnumFlags);
  994. void __RPC_STUB IWbemClassObject_BeginEnumeration_Stub(
  995.     IRpcStubBuffer *This,
  996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  997.     PRPC_MESSAGE _pRpcMessage,
  998.     DWORD *_pdwStubPhase);
  999. HRESULT STDMETHODCALLTYPE IWbemClassObject_Next_Proxy( 
  1000.     IWbemClassObject * This,
  1001.     /* [in] */ long lFlags,
  1002.     /* [unique][in][out] */ BSTR *strName,
  1003.     /* [unique][in][out] */ VARIANT *pVal,
  1004.     /* [unique][in][out] */ CIMTYPE *pType,
  1005.     /* [unique][in][out] */ long *plFlavor);
  1006. void __RPC_STUB IWbemClassObject_Next_Stub(
  1007.     IRpcStubBuffer *This,
  1008.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1009.     PRPC_MESSAGE _pRpcMessage,
  1010.     DWORD *_pdwStubPhase);
  1011. HRESULT STDMETHODCALLTYPE IWbemClassObject_EndEnumeration_Proxy( 
  1012.     IWbemClassObject * This);
  1013. void __RPC_STUB IWbemClassObject_EndEnumeration_Stub(
  1014.     IRpcStubBuffer *This,
  1015.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1016.     PRPC_MESSAGE _pRpcMessage,
  1017.     DWORD *_pdwStubPhase);
  1018. HRESULT STDMETHODCALLTYPE IWbemClassObject_GetPropertyQualifierSet_Proxy( 
  1019.     IWbemClassObject * This,
  1020.     /* [string][in] */ LPCWSTR wszProperty,
  1021.     /* [out] */ IWbemQualifierSet **ppQualSet);
  1022. void __RPC_STUB IWbemClassObject_GetPropertyQualifierSet_Stub(
  1023.     IRpcStubBuffer *This,
  1024.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1025.     PRPC_MESSAGE _pRpcMessage,
  1026.     DWORD *_pdwStubPhase);
  1027. HRESULT STDMETHODCALLTYPE IWbemClassObject_Clone_Proxy( 
  1028.     IWbemClassObject * This,
  1029.     /* [out] */ IWbemClassObject **ppCopy);
  1030. void __RPC_STUB IWbemClassObject_Clone_Stub(
  1031.     IRpcStubBuffer *This,
  1032.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1033.     PRPC_MESSAGE _pRpcMessage,
  1034.     DWORD *_pdwStubPhase);
  1035. HRESULT STDMETHODCALLTYPE IWbemClassObject_GetObjectText_Proxy( 
  1036.     IWbemClassObject * This,
  1037.     /* [in] */ long lFlags,
  1038.     /* [out] */ BSTR *pstrObjectText);
  1039. void __RPC_STUB IWbemClassObject_GetObjectText_Stub(
  1040.     IRpcStubBuffer *This,
  1041.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1042.     PRPC_MESSAGE _pRpcMessage,
  1043.     DWORD *_pdwStubPhase);
  1044. HRESULT STDMETHODCALLTYPE IWbemClassObject_SpawnDerivedClass_Proxy( 
  1045.     IWbemClassObject * This,
  1046.     /* [in] */ long lFlags,
  1047.     /* [out] */ IWbemClassObject **ppNewClass);
  1048. void __RPC_STUB IWbemClassObject_SpawnDerivedClass_Stub(
  1049.     IRpcStubBuffer *This,
  1050.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1051.     PRPC_MESSAGE _pRpcMessage,
  1052.     DWORD *_pdwStubPhase);
  1053. HRESULT STDMETHODCALLTYPE IWbemClassObject_SpawnInstance_Proxy( 
  1054.     IWbemClassObject * This,
  1055.     /* [in] */ long lFlags,
  1056.     /* [out] */ IWbemClassObject **ppNewInstance);
  1057. void __RPC_STUB IWbemClassObject_SpawnInstance_Stub(
  1058.     IRpcStubBuffer *This,
  1059.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1060.     PRPC_MESSAGE _pRpcMessage,
  1061.     DWORD *_pdwStubPhase);
  1062. HRESULT STDMETHODCALLTYPE IWbemClassObject_CompareTo_Proxy( 
  1063.     IWbemClassObject * This,
  1064.     /* [in] */ long lFlags,
  1065.     /* [in] */ IWbemClassObject *pCompareTo);
  1066. void __RPC_STUB IWbemClassObject_CompareTo_Stub(
  1067.     IRpcStubBuffer *This,
  1068.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1069.     PRPC_MESSAGE _pRpcMessage,
  1070.     DWORD *_pdwStubPhase);
  1071. HRESULT STDMETHODCALLTYPE IWbemClassObject_GetPropertyOrigin_Proxy( 
  1072.     IWbemClassObject * This,
  1073.     /* [string][in] */ LPCWSTR wszName,
  1074.     /* [out] */ BSTR *pstrClassName);
  1075. void __RPC_STUB IWbemClassObject_GetPropertyOrigin_Stub(
  1076.     IRpcStubBuffer *This,
  1077.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1078.     PRPC_MESSAGE _pRpcMessage,
  1079.     DWORD *_pdwStubPhase);
  1080. HRESULT STDMETHODCALLTYPE IWbemClassObject_InheritsFrom_Proxy( 
  1081.     IWbemClassObject * This,
  1082.     /* [in] */ LPCWSTR strAncestor);
  1083. void __RPC_STUB IWbemClassObject_InheritsFrom_Stub(
  1084.     IRpcStubBuffer *This,
  1085.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1086.     PRPC_MESSAGE _pRpcMessage,
  1087.     DWORD *_pdwStubPhase);
  1088. HRESULT STDMETHODCALLTYPE IWbemClassObject_GetMethod_Proxy( 
  1089.     IWbemClassObject * This,
  1090.     /* [string][in] */ LPCWSTR wszName,
  1091.     /* [in] */ long lFlags,
  1092.     /* [out] */ IWbemClassObject **ppInSignature,
  1093.     /* [out] */ IWbemClassObject **ppOutSignature);
  1094. void __RPC_STUB IWbemClassObject_GetMethod_Stub(
  1095.     IRpcStubBuffer *This,
  1096.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1097.     PRPC_MESSAGE _pRpcMessage,
  1098.     DWORD *_pdwStubPhase);
  1099. HRESULT STDMETHODCALLTYPE IWbemClassObject_PutMethod_Proxy( 
  1100.     IWbemClassObject * This,
  1101.     /* [string][in] */ LPCWSTR wszName,
  1102.     /* [in] */ long lFlags,
  1103.     /* [in] */ IWbemClassObject *pInSignature,
  1104.     /* [in] */ IWbemClassObject *pOutSignature);
  1105. void __RPC_STUB IWbemClassObject_PutMethod_Stub(
  1106.     IRpcStubBuffer *This,
  1107.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1108.     PRPC_MESSAGE _pRpcMessage,
  1109.     DWORD *_pdwStubPhase);
  1110. HRESULT STDMETHODCALLTYPE IWbemClassObject_DeleteMethod_Proxy( 
  1111.     IWbemClassObject * This,
  1112.     /* [string][in] */ LPCWSTR wszName);
  1113. void __RPC_STUB IWbemClassObject_DeleteMethod_Stub(
  1114.     IRpcStubBuffer *This,
  1115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1116.     PRPC_MESSAGE _pRpcMessage,
  1117.     DWORD *_pdwStubPhase);
  1118. HRESULT STDMETHODCALLTYPE IWbemClassObject_BeginMethodEnumeration_Proxy( 
  1119.     IWbemClassObject * This,
  1120.     /* [in] */ long lEnumFlags);
  1121. void __RPC_STUB IWbemClassObject_BeginMethodEnumeration_Stub(
  1122.     IRpcStubBuffer *This,
  1123.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1124.     PRPC_MESSAGE _pRpcMessage,
  1125.     DWORD *_pdwStubPhase);
  1126. HRESULT STDMETHODCALLTYPE IWbemClassObject_NextMethod_Proxy( 
  1127.     IWbemClassObject * This,
  1128.     /* [in] */ long lFlags,
  1129.     /* [unique][in][out] */ BSTR *pstrName,
  1130.     /* [unique][in][out] */ IWbemClassObject **ppInSignature,
  1131.     /* [unique][in][out] */ IWbemClassObject **ppOutSignature);
  1132. void __RPC_STUB IWbemClassObject_NextMethod_Stub(
  1133.     IRpcStubBuffer *This,
  1134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1135.     PRPC_MESSAGE _pRpcMessage,
  1136.     DWORD *_pdwStubPhase);
  1137. HRESULT STDMETHODCALLTYPE IWbemClassObject_EndMethodEnumeration_Proxy( 
  1138.     IWbemClassObject * This);
  1139. void __RPC_STUB IWbemClassObject_EndMethodEnumeration_Stub(
  1140.     IRpcStubBuffer *This,
  1141.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1142.     PRPC_MESSAGE _pRpcMessage,
  1143.     DWORD *_pdwStubPhase);
  1144. HRESULT STDMETHODCALLTYPE IWbemClassObject_GetMethodQualifierSet_Proxy( 
  1145.     IWbemClassObject * This,
  1146.     /* [string][in] */ LPCWSTR wszMethod,
  1147.     /* [out] */ IWbemQualifierSet **ppQualSet);
  1148. void __RPC_STUB IWbemClassObject_GetMethodQualifierSet_Stub(
  1149.     IRpcStubBuffer *This,
  1150.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1151.     PRPC_MESSAGE _pRpcMessage,
  1152.     DWORD *_pdwStubPhase);
  1153. HRESULT STDMETHODCALLTYPE IWbemClassObject_GetMethodOrigin_Proxy( 
  1154.     IWbemClassObject * This,
  1155.     /* [string][in] */ LPCWSTR wszMethodName,
  1156.     /* [out] */ BSTR *pstrClassName);
  1157. void __RPC_STUB IWbemClassObject_GetMethodOrigin_Stub(
  1158.     IRpcStubBuffer *This,
  1159.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1160.     PRPC_MESSAGE _pRpcMessage,
  1161.     DWORD *_pdwStubPhase);
  1162. #endif  /* __IWbemClassObject_INTERFACE_DEFINED__ */
  1163. #ifndef __IWbemObjectAccess_INTERFACE_DEFINED__
  1164. #define __IWbemObjectAccess_INTERFACE_DEFINED__
  1165. /* interface IWbemObjectAccess */
  1166. /* [uuid][object][restricted][local] */ 
  1167. EXTERN_C const IID IID_IWbemObjectAccess;
  1168. #if defined(__cplusplus) && !defined(CINTERFACE)
  1169.     
  1170.     MIDL_INTERFACE("49353c9a-516b-11d1-aea6-00c04fb68820")
  1171.     IWbemObjectAccess : public IWbemClassObject
  1172.     {
  1173.     public:
  1174.         virtual HRESULT STDMETHODCALLTYPE GetPropertyHandle( 
  1175.             /* [string][in] */ LPCWSTR wszPropertyName,
  1176.             /* [out] */ CIMTYPE *pType,
  1177.             /* [out] */ long *plHandle) = 0;
  1178.         
  1179.         virtual HRESULT STDMETHODCALLTYPE WritePropertyValue( 
  1180.             /* [in] */ long lHandle,
  1181.             /* [in] */ long lNumBytes,
  1182.             /* [size_is][in] */ const byte *aData) = 0;
  1183.         
  1184.         virtual HRESULT STDMETHODCALLTYPE ReadPropertyValue( 
  1185.             /* [in] */ long lHandle,
  1186.             /* [in] */ long lBufferSize,
  1187.             /* [out] */ long *plNumBytes,
  1188.             /* [length_is][size_is][out] */ byte *aData) = 0;
  1189.         
  1190.         virtual HRESULT STDMETHODCALLTYPE ReadDWORD( 
  1191.             /* [in] */ long lHandle,
  1192.             /* [out] */ DWORD *pdw) = 0;
  1193.         
  1194.         virtual HRESULT STDMETHODCALLTYPE WriteDWORD( 
  1195.             /* [in] */ long lHandle,
  1196.             /* [in] */ DWORD dw) = 0;
  1197.         
  1198.         virtual HRESULT STDMETHODCALLTYPE ReadQWORD( 
  1199.             /* [in] */ long lHandle,
  1200.             /* [out] */ unsigned __int64 *pqw) = 0;
  1201.         
  1202.         virtual HRESULT STDMETHODCALLTYPE WriteQWORD( 
  1203.             /* [in] */ long lHandle,
  1204.             /* [in] */ unsigned __int64 pw) = 0;
  1205.         
  1206.         virtual HRESULT STDMETHODCALLTYPE GetPropertyInfoByHandle( 
  1207.             /* [in] */ long lHandle,
  1208.             /* [out] */ BSTR *pstrName,
  1209.             /* [out] */ CIMTYPE *pType) = 0;
  1210.         
  1211.         virtual HRESULT STDMETHODCALLTYPE Lock( 
  1212.             /* [in] */ long lFlags) = 0;
  1213.         
  1214.         virtual HRESULT STDMETHODCALLTYPE Unlock( 
  1215.             /* [in] */ long lFlags) = 0;
  1216.         
  1217.     };
  1218.     
  1219. #else  /* C style interface */
  1220.     typedef struct IWbemObjectAccessVtbl
  1221.     {
  1222.         BEGIN_INTERFACE
  1223.         
  1224.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1225.             IWbemObjectAccess * This,
  1226.             /* [in] */ REFIID riid,
  1227.             /* [iid_is][out] */ void **ppvObject);
  1228.         
  1229.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1230.             IWbemObjectAccess * This);
  1231.         
  1232.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1233.             IWbemObjectAccess * This);
  1234.         
  1235.         HRESULT ( STDMETHODCALLTYPE *GetQualifierSet )( 
  1236.             IWbemObjectAccess * This,
  1237.             /* [out] */ IWbemQualifierSet **ppQualSet);
  1238.         
  1239.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  1240.             IWbemObjectAccess * This,
  1241.             /* [string][in] */ LPCWSTR wszName,
  1242.             /* [in] */ long lFlags,
  1243.             /* [unique][in][out] */ VARIANT *pVal,
  1244.             /* [unique][in][out] */ CIMTYPE *pType,
  1245.             /* [unique][in][out] */ long *plFlavor);
  1246.         
  1247.         HRESULT ( STDMETHODCALLTYPE *Put )( 
  1248.             IWbemObjectAccess * This,
  1249.             /* [string][in] */ LPCWSTR wszName,
  1250.             /* [in] */ long lFlags,
  1251.             /* [in] */ VARIANT *pVal,
  1252.             /* [in] */ CIMTYPE Type);
  1253.         
  1254.         HRESULT ( STDMETHODCALLTYPE *Delete )( 
  1255.             IWbemObjectAccess * This,
  1256.             /* [string][in] */ LPCWSTR wszName);
  1257.         
  1258.         HRESULT ( STDMETHODCALLTYPE *GetNames )( 
  1259.             IWbemObjectAccess * This,
  1260.             /* [string][in] */ LPCWSTR wszQualifierName,
  1261.             /* [in] */ long lFlags,
  1262.             /* [in] */ VARIANT *pQualifierVal,
  1263.             /* [out] */ SAFEARRAY * *pNames);
  1264.         
  1265.         HRESULT ( STDMETHODCALLTYPE *BeginEnumeration )( 
  1266.             IWbemObjectAccess * This,
  1267.             /* [in] */ long lEnumFlags);
  1268.         
  1269.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1270.             IWbemObjectAccess * This,
  1271.             /* [in] */ long lFlags,
  1272.             /* [unique][in][out] */ BSTR *strName,
  1273.             /* [unique][in][out] */ VARIANT *pVal,
  1274.             /* [unique][in][out] */ CIMTYPE *pType,
  1275.             /* [unique][in][out] */ long *plFlavor);
  1276.         
  1277.         HRESULT ( STDMETHODCALLTYPE *EndEnumeration )( 
  1278.             IWbemObjectAccess * This);
  1279.         
  1280.         HRESULT ( STDMETHODCALLTYPE *GetPropertyQualifierSet )( 
  1281.             IWbemObjectAccess * This,
  1282.             /* [string][in] */ LPCWSTR wszProperty,
  1283.             /* [out] */ IWbemQualifierSet **ppQualSet);
  1284.         
  1285.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1286.             IWbemObjectAccess * This,
  1287.             /* [out] */ IWbemClassObject **ppCopy);
  1288.         
  1289.         HRESULT ( STDMETHODCALLTYPE *GetObjectText )( 
  1290.             IWbemObjectAccess * This,
  1291.             /* [in] */ long lFlags,
  1292.             /* [out] */ BSTR *pstrObjectText);
  1293.         
  1294.         HRESULT ( STDMETHODCALLTYPE *SpawnDerivedClass )( 
  1295.             IWbemObjectAccess * This,
  1296.             /* [in] */ long lFlags,
  1297.             /* [out] */ IWbemClassObject **ppNewClass);
  1298.         
  1299.         HRESULT ( STDMETHODCALLTYPE *SpawnInstance )( 
  1300.             IWbemObjectAccess * This,
  1301.             /* [in] */ long lFlags,
  1302.             /* [out] */ IWbemClassObject **ppNewInstance);
  1303.         
  1304.         HRESULT ( STDMETHODCALLTYPE *CompareTo )( 
  1305.             IWbemObjectAccess * This,
  1306.             /* [in] */ long lFlags,
  1307.             /* [in] */ IWbemClassObject *pCompareTo);
  1308.         
  1309.         HRESULT ( STDMETHODCALLTYPE *GetPropertyOrigin )( 
  1310.             IWbemObjectAccess * This,
  1311.             /* [string][in] */ LPCWSTR wszName,
  1312.             /* [out] */ BSTR *pstrClassName);
  1313.         
  1314.         HRESULT ( STDMETHODCALLTYPE *InheritsFrom )( 
  1315.             IWbemObjectAccess * This,
  1316.             /* [in] */ LPCWSTR strAncestor);
  1317.         
  1318.         HRESULT ( STDMETHODCALLTYPE *GetMethod )( 
  1319.             IWbemObjectAccess * This,
  1320.             /* [string][in] */ LPCWSTR wszName,
  1321.             /* [in] */ long lFlags,
  1322.             /* [out] */ IWbemClassObject **ppInSignature,
  1323.             /* [out] */ IWbemClassObject **ppOutSignature);
  1324.         
  1325.         HRESULT ( STDMETHODCALLTYPE *PutMethod )( 
  1326.             IWbemObjectAccess * This,
  1327.             /* [string][in] */ LPCWSTR wszName,
  1328.             /* [in] */ long lFlags,
  1329.             /* [in] */ IWbemClassObject *pInSignature,
  1330.             /* [in] */ IWbemClassObject *pOutSignature);
  1331.         
  1332.         HRESULT ( STDMETHODCALLTYPE *DeleteMethod )( 
  1333.             IWbemObjectAccess * This,
  1334.             /* [string][in] */ LPCWSTR wszName);
  1335.         
  1336.         HRESULT ( STDMETHODCALLTYPE *BeginMethodEnumeration )( 
  1337.             IWbemObjectAccess * This,
  1338.             /* [in] */ long lEnumFlags);
  1339.         
  1340.         HRESULT ( STDMETHODCALLTYPE *NextMethod )( 
  1341.             IWbemObjectAccess * This,
  1342.             /* [in] */ long lFlags,
  1343.             /* [unique][in][out] */ BSTR *pstrName,
  1344.             /* [unique][in][out] */ IWbemClassObject **ppInSignature,
  1345.             /* [unique][in][out] */ IWbemClassObject **ppOutSignature);
  1346.         
  1347.         HRESULT ( STDMETHODCALLTYPE *EndMethodEnumeration )( 
  1348.             IWbemObjectAccess * This);
  1349.         
  1350.         HRESULT ( STDMETHODCALLTYPE *GetMethodQualifierSet )( 
  1351.             IWbemObjectAccess * This,
  1352.             /* [string][in] */ LPCWSTR wszMethod,
  1353.             /* [out] */ IWbemQualifierSet **ppQualSet);
  1354.         
  1355.         HRESULT ( STDMETHODCALLTYPE *GetMethodOrigin )( 
  1356.             IWbemObjectAccess * This,
  1357.             /* [string][in] */ LPCWSTR wszMethodName,
  1358.             /* [out] */ BSTR *pstrClassName);
  1359.         
  1360.         HRESULT ( STDMETHODCALLTYPE *GetPropertyHandle )( 
  1361.             IWbemObjectAccess * This,
  1362.             /* [string][in] */ LPCWSTR wszPropertyName,
  1363.             /* [out] */ CIMTYPE *pType,
  1364.             /* [out] */ long *plHandle);
  1365.         
  1366.         HRESULT ( STDMETHODCALLTYPE *WritePropertyValue )( 
  1367.             IWbemObjectAccess * This,
  1368.             /* [in] */ long lHandle,
  1369.             /* [in] */ long lNumBytes,
  1370.             /* [size_is][in] */ const byte *aData);
  1371.         
  1372.         HRESULT ( STDMETHODCALLTYPE *ReadPropertyValue )( 
  1373.             IWbemObjectAccess * This,
  1374.             /* [in] */ long lHandle,
  1375.             /* [in] */ long lBufferSize,
  1376.             /* [out] */ long *plNumBytes,
  1377.             /* [length_is][size_is][out] */ byte *aData);
  1378.         
  1379.         HRESULT ( STDMETHODCALLTYPE *ReadDWORD )( 
  1380.             IWbemObjectAccess * This,
  1381.             /* [in] */ long lHandle,
  1382.             /* [out] */ DWORD *pdw);
  1383.         
  1384.         HRESULT ( STDMETHODCALLTYPE *WriteDWORD )( 
  1385.             IWbemObjectAccess * This,
  1386.             /* [in] */ long lHandle,
  1387.             /* [in] */ DWORD dw);
  1388.         
  1389.         HRESULT ( STDMETHODCALLTYPE *ReadQWORD )( 
  1390.             IWbemObjectAccess * This,
  1391.             /* [in] */ long lHandle,
  1392.             /* [out] */ unsigned __int64 *pqw);
  1393.         
  1394.         HRESULT ( STDMETHODCALLTYPE *WriteQWORD )( 
  1395.             IWbemObjectAccess * This,
  1396.             /* [in] */ long lHandle,
  1397.             /* [in] */ unsigned __int64 pw);
  1398.         
  1399.         HRESULT ( STDMETHODCALLTYPE *GetPropertyInfoByHandle )( 
  1400.             IWbemObjectAccess * This,
  1401.             /* [in] */ long lHandle,
  1402.             /* [out] */ BSTR *pstrName,
  1403.             /* [out] */ CIMTYPE *pType);
  1404.         
  1405.         HRESULT ( STDMETHODCALLTYPE *Lock )( 
  1406.             IWbemObjectAccess * This,
  1407.             /* [in] */ long lFlags);
  1408.         
  1409.         HRESULT ( STDMETHODCALLTYPE *Unlock )( 
  1410.             IWbemObjectAccess * This,
  1411.             /* [in] */ long lFlags);
  1412.         
  1413.         END_INTERFACE
  1414.     } IWbemObjectAccessVtbl;
  1415.     interface IWbemObjectAccess
  1416.     {
  1417.         CONST_VTBL struct IWbemObjectAccessVtbl *lpVtbl;
  1418.     };
  1419.     
  1420. #ifdef COBJMACROS
  1421. #define IWbemObjectAccess_QueryInterface(This,riid,ppvObject)
  1422.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1423. #define IWbemObjectAccess_AddRef(This)
  1424.     (This)->lpVtbl -> AddRef(This)
  1425. #define IWbemObjectAccess_Release(This)
  1426.     (This)->lpVtbl -> Release(This)
  1427. #define IWbemObjectAccess_GetQualifierSet(This,ppQualSet)
  1428.     (This)->lpVtbl -> GetQualifierSet(This,ppQualSet)
  1429. #define IWbemObjectAccess_Get(This,wszName,lFlags,pVal,pType,plFlavor)
  1430.     (This)->lpVtbl -> Get(This,wszName,lFlags,pVal,pType,plFlavor)
  1431. #define IWbemObjectAccess_Put(This,wszName,lFlags,pVal,Type)
  1432.     (This)->lpVtbl -> Put(This,wszName,lFlags,pVal,Type)
  1433. #define IWbemObjectAccess_Delete(This,wszName)
  1434.     (This)->lpVtbl -> Delete(This,wszName)
  1435. #define IWbemObjectAccess_GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames)
  1436.     (This)->lpVtbl -> GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames)
  1437. #define IWbemObjectAccess_BeginEnumeration(This,lEnumFlags)
  1438.     (This)->lpVtbl -> BeginEnumeration(This,lEnumFlags)
  1439. #define IWbemObjectAccess_Next(This,lFlags,strName,pVal,pType,plFlavor)
  1440.     (This)->lpVtbl -> Next(This,lFlags,strName,pVal,pType,plFlavor)
  1441. #define IWbemObjectAccess_EndEnumeration(This)
  1442.     (This)->lpVtbl -> EndEnumeration(This)
  1443. #define IWbemObjectAccess_GetPropertyQualifierSet(This,wszProperty,ppQualSet)
  1444.     (This)->lpVtbl -> GetPropertyQualifierSet(This,wszProperty,ppQualSet)
  1445. #define IWbemObjectAccess_Clone(This,ppCopy)
  1446.     (This)->lpVtbl -> Clone(This,ppCopy)
  1447. #define IWbemObjectAccess_GetObjectText(This,lFlags,pstrObjectText)
  1448.     (This)->lpVtbl -> GetObjectText(This,lFlags,pstrObjectText)
  1449. #define IWbemObjectAccess_SpawnDerivedClass(This,lFlags,ppNewClass)
  1450.     (This)->lpVtbl -> SpawnDerivedClass(This,lFlags,ppNewClass)
  1451. #define IWbemObjectAccess_SpawnInstance(This,lFlags,ppNewInstance)
  1452.     (This)->lpVtbl -> SpawnInstance(This,lFlags,ppNewInstance)
  1453. #define IWbemObjectAccess_CompareTo(This,lFlags,pCompareTo)
  1454.     (This)->lpVtbl -> CompareTo(This,lFlags,pCompareTo)
  1455. #define IWbemObjectAccess_GetPropertyOrigin(This,wszName,pstrClassName)
  1456.     (This)->lpVtbl -> GetPropertyOrigin(This,wszName,pstrClassName)
  1457. #define IWbemObjectAccess_InheritsFrom(This,strAncestor)
  1458.     (This)->lpVtbl -> InheritsFrom(This,strAncestor)
  1459. #define IWbemObjectAccess_GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature)
  1460.     (This)->lpVtbl -> GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature)
  1461. #define IWbemObjectAccess_PutMethod(This,wszName,lFlags,pInSignature,pOutSignature)
  1462.     (This)->lpVtbl -> PutMethod(This,wszName,lFlags,pInSignature,pOutSignature)
  1463. #define IWbemObjectAccess_DeleteMethod(This,wszName)
  1464.     (This)->lpVtbl -> DeleteMethod(This,wszName)
  1465. #define IWbemObjectAccess_BeginMethodEnumeration(This,lEnumFlags)
  1466.     (This)->lpVtbl -> BeginMethodEnumeration(This,lEnumFlags)
  1467. #define IWbemObjectAccess_NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature)
  1468.     (This)->lpVtbl -> NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature)
  1469. #define IWbemObjectAccess_EndMethodEnumeration(This)
  1470.     (This)->lpVtbl -> EndMethodEnumeration(This)
  1471. #define IWbemObjectAccess_GetMethodQualifierSet(This,wszMethod,ppQualSet)
  1472.     (This)->lpVtbl -> GetMethodQualifierSet(This,wszMethod,ppQualSet)
  1473. #define IWbemObjectAccess_GetMethodOrigin(This,wszMethodName,pstrClassName)
  1474.     (This)->lpVtbl -> GetMethodOrigin(This,wszMethodName,pstrClassName)
  1475. #define IWbemObjectAccess_GetPropertyHandle(This,wszPropertyName,pType,plHandle)
  1476.     (This)->lpVtbl -> GetPropertyHandle(This,wszPropertyName,pType,plHandle)
  1477. #define IWbemObjectAccess_WritePropertyValue(This,lHandle,lNumBytes,aData)
  1478.     (This)->lpVtbl -> WritePropertyValue(This,lHandle,lNumBytes,aData)
  1479. #define IWbemObjectAccess_ReadPropertyValue(This,lHandle,lBufferSize,plNumBytes,aData)
  1480.     (This)->lpVtbl -> ReadPropertyValue(This,lHandle,lBufferSize,plNumBytes,aData)
  1481. #define IWbemObjectAccess_ReadDWORD(This,lHandle,pdw)
  1482.     (This)->lpVtbl -> ReadDWORD(This,lHandle,pdw)
  1483. #define IWbemObjectAccess_WriteDWORD(This,lHandle,dw)
  1484.     (This)->lpVtbl -> WriteDWORD(This,lHandle,dw)
  1485. #define IWbemObjectAccess_ReadQWORD(This,lHandle,pqw)
  1486.     (This)->lpVtbl -> ReadQWORD(This,lHandle,pqw)
  1487. #define IWbemObjectAccess_WriteQWORD(This,lHandle,pw)
  1488.     (This)->lpVtbl -> WriteQWORD(This,lHandle,pw)
  1489. #define IWbemObjectAccess_GetPropertyInfoByHandle(This,lHandle,pstrName,pType)
  1490.     (This)->lpVtbl -> GetPropertyInfoByHandle(This,lHandle,pstrName,pType)
  1491. #define IWbemObjectAccess_Lock(This,lFlags)
  1492.     (This)->lpVtbl -> Lock(This,lFlags)
  1493. #define IWbemObjectAccess_Unlock(This,lFlags)
  1494.     (This)->lpVtbl -> Unlock(This,lFlags)
  1495. #endif /* COBJMACROS */
  1496. #endif  /* C style interface */
  1497. HRESULT STDMETHODCALLTYPE IWbemObjectAccess_GetPropertyHandle_Proxy( 
  1498.     IWbemObjectAccess * This,
  1499.     /* [string][in] */ LPCWSTR wszPropertyName,
  1500.     /* [out] */ CIMTYPE *pType,
  1501.     /* [out] */ long *plHandle);
  1502. void __RPC_STUB IWbemObjectAccess_GetPropertyHandle_Stub(
  1503.     IRpcStubBuffer *This,
  1504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1505.     PRPC_MESSAGE _pRpcMessage,
  1506.     DWORD *_pdwStubPhase);
  1507. HRESULT STDMETHODCALLTYPE IWbemObjectAccess_WritePropertyValue_Proxy( 
  1508.     IWbemObjectAccess * This,
  1509.     /* [in] */ long lHandle,
  1510.     /* [in] */ long lNumBytes,
  1511.     /* [size_is][in] */ const byte *aData);
  1512. void __RPC_STUB IWbemObjectAccess_WritePropertyValue_Stub(
  1513.     IRpcStubBuffer *This,
  1514.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1515.     PRPC_MESSAGE _pRpcMessage,
  1516.     DWORD *_pdwStubPhase);
  1517. HRESULT STDMETHODCALLTYPE IWbemObjectAccess_ReadPropertyValue_Proxy( 
  1518.     IWbemObjectAccess * This,
  1519.     /* [in] */ long lHandle,
  1520.     /* [in] */ long lBufferSize,
  1521.     /* [out] */ long *plNumBytes,
  1522.     /* [length_is][size_is][out] */ byte *aData);
  1523. void __RPC_STUB IWbemObjectAccess_ReadPropertyValue_Stub(
  1524.     IRpcStubBuffer *This,
  1525.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1526.     PRPC_MESSAGE _pRpcMessage,
  1527.     DWORD *_pdwStubPhase);
  1528. HRESULT STDMETHODCALLTYPE IWbemObjectAccess_ReadDWORD_Proxy( 
  1529.     IWbemObjectAccess * This,
  1530.     /* [in] */ long lHandle,
  1531.     /* [out] */ DWORD *pdw);
  1532. void __RPC_STUB IWbemObjectAccess_ReadDWORD_Stub(
  1533.     IRpcStubBuffer *This,
  1534.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1535.     PRPC_MESSAGE _pRpcMessage,
  1536.     DWORD *_pdwStubPhase);
  1537. HRESULT STDMETHODCALLTYPE IWbemObjectAccess_WriteDWORD_Proxy( 
  1538.     IWbemObjectAccess * This,
  1539.     /* [in] */ long lHandle,
  1540.     /* [in] */ DWORD dw);
  1541. void __RPC_STUB IWbemObjectAccess_WriteDWORD_Stub(
  1542.     IRpcStubBuffer *This,
  1543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1544.     PRPC_MESSAGE _pRpcMessage,
  1545.     DWORD *_pdwStubPhase);
  1546. HRESULT STDMETHODCALLTYPE IWbemObjectAccess_ReadQWORD_Proxy( 
  1547.     IWbemObjectAccess * This,
  1548.     /* [in] */ long lHandle,
  1549.     /* [out] */ unsigned __int64 *pqw);
  1550. void __RPC_STUB IWbemObjectAccess_ReadQWORD_Stub(
  1551.     IRpcStubBuffer *This,
  1552.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1553.     PRPC_MESSAGE _pRpcMessage,
  1554.     DWORD *_pdwStubPhase);
  1555. HRESULT STDMETHODCALLTYPE IWbemObjectAccess_WriteQWORD_Proxy( 
  1556.     IWbemObjectAccess * This,
  1557.     /* [in] */ long lHandle,
  1558.     /* [in] */ unsigned __int64 pw);
  1559. void __RPC_STUB IWbemObjectAccess_WriteQWORD_Stub(
  1560.     IRpcStubBuffer *This,
  1561.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1562.     PRPC_MESSAGE _pRpcMessage,
  1563.     DWORD *_pdwStubPhase);
  1564. HRESULT STDMETHODCALLTYPE IWbemObjectAccess_GetPropertyInfoByHandle_Proxy( 
  1565.     IWbemObjectAccess * This,
  1566.     /* [in] */ long lHandle,
  1567.     /* [out] */ BSTR *pstrName,
  1568.     /* [out] */ CIMTYPE *pType);
  1569. void __RPC_STUB IWbemObjectAccess_GetPropertyInfoByHandle_Stub(
  1570.     IRpcStubBuffer *This,
  1571.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1572.     PRPC_MESSAGE _pRpcMessage,
  1573.     DWORD *_pdwStubPhase);
  1574. HRESULT STDMETHODCALLTYPE IWbemObjectAccess_Lock_Proxy( 
  1575.     IWbemObjectAccess * This,
  1576.     /* [in] */ long lFlags);
  1577. void __RPC_STUB IWbemObjectAccess_Lock_Stub(
  1578.     IRpcStubBuffer *This,
  1579.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1580.     PRPC_MESSAGE _pRpcMessage,
  1581.     DWORD *_pdwStubPhase);
  1582. HRESULT STDMETHODCALLTYPE IWbemObjectAccess_Unlock_Proxy( 
  1583.     IWbemObjectAccess * This,
  1584.     /* [in] */ long lFlags);
  1585. void __RPC_STUB IWbemObjectAccess_Unlock_Stub(
  1586.     IRpcStubBuffer *This,
  1587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1588.     PRPC_MESSAGE _pRpcMessage,
  1589.     DWORD *_pdwStubPhase);
  1590. #endif  /* __IWbemObjectAccess_INTERFACE_DEFINED__ */
  1591. #ifndef __IWbemQualifierSet_INTERFACE_DEFINED__
  1592. #define __IWbemQualifierSet_INTERFACE_DEFINED__
  1593. /* interface IWbemQualifierSet */
  1594. /* [uuid][local][restricted][object] */ 
  1595. EXTERN_C const IID IID_IWbemQualifierSet;
  1596. #if defined(__cplusplus) && !defined(CINTERFACE)
  1597.     
  1598.     MIDL_INTERFACE("dc12a680-737f-11cf-884d-00aa004b2e24")
  1599.     IWbemQualifierSet : public IUnknown
  1600.     {
  1601.     public:
  1602.         virtual HRESULT STDMETHODCALLTYPE Get( 
  1603.             /* [string][in] */ LPCWSTR wszName,
  1604.             /* [in] */ long lFlags,
  1605.             /* [unique][in][out] */ VARIANT *pVal,
  1606.             /* [unique][in][out] */ long *plFlavor) = 0;
  1607.         
  1608.         virtual HRESULT STDMETHODCALLTYPE Put( 
  1609.             /* [string][in] */ LPCWSTR wszName,
  1610.             /* [in] */ VARIANT *pVal,
  1611.             /* [in] */ long lFlavor) = 0;
  1612.         
  1613.         virtual HRESULT STDMETHODCALLTYPE Delete( 
  1614.             /* [string][in] */ LPCWSTR wszName) = 0;
  1615.         
  1616.         virtual HRESULT STDMETHODCALLTYPE GetNames( 
  1617.             /* [in] */ long lFlags,
  1618.             /* [out] */ SAFEARRAY * *pNames) = 0;
  1619.         
  1620.         virtual HRESULT STDMETHODCALLTYPE BeginEnumeration( 
  1621.             /* [in] */ long lFlags) = 0;
  1622.         
  1623.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1624.             /* [in] */ long lFlags,
  1625.             /* [unique][in][out] */ BSTR *pstrName,
  1626.             /* [unique][in][out] */ VARIANT *pVal,
  1627.             /* [unique][in][out] */ long *plFlavor) = 0;
  1628.         
  1629.         virtual HRESULT STDMETHODCALLTYPE EndEnumeration( void) = 0;
  1630.         
  1631.     };
  1632.     
  1633. #else  /* C style interface */
  1634.     typedef struct IWbemQualifierSetVtbl
  1635.     {
  1636.         BEGIN_INTERFACE
  1637.         
  1638.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1639.             IWbemQualifierSet * This,
  1640.             /* [in] */ REFIID riid,
  1641.             /* [iid_is][out] */ void **ppvObject);
  1642.         
  1643.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1644.             IWbemQualifierSet * This);
  1645.         
  1646.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1647.             IWbemQualifierSet * This);
  1648.         
  1649.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  1650.             IWbemQualifierSet * This,
  1651.             /* [string][in] */ LPCWSTR wszName,
  1652.             /* [in] */ long lFlags,
  1653.             /* [unique][in][out] */ VARIANT *pVal,
  1654.             /* [unique][in][out] */ long *plFlavor);
  1655.         
  1656.         HRESULT ( STDMETHODCALLTYPE *Put )( 
  1657.             IWbemQualifierSet * This,
  1658.             /* [string][in] */ LPCWSTR wszName,
  1659.             /* [in] */ VARIANT *pVal,
  1660.             /* [in] */ long lFlavor);
  1661.         
  1662.         HRESULT ( STDMETHODCALLTYPE *Delete )( 
  1663.             IWbemQualifierSet * This,
  1664.             /* [string][in] */ LPCWSTR wszName);
  1665.         
  1666.         HRESULT ( STDMETHODCALLTYPE *GetNames )( 
  1667.             IWbemQualifierSet * This,
  1668.             /* [in] */ long lFlags,
  1669.             /* [out] */ SAFEARRAY * *pNames);
  1670.         
  1671.         HRESULT ( STDMETHODCALLTYPE *BeginEnumeration )( 
  1672.             IWbemQualifierSet * This,
  1673.             /* [in] */ long lFlags);
  1674.         
  1675.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1676.             IWbemQualifierSet * This,
  1677.             /* [in] */ long lFlags,
  1678.             /* [unique][in][out] */ BSTR *pstrName,
  1679.             /* [unique][in][out] */ VARIANT *pVal,
  1680.             /* [unique][in][out] */ long *plFlavor);
  1681.         
  1682.         HRESULT ( STDMETHODCALLTYPE *EndEnumeration )( 
  1683.             IWbemQualifierSet * This);
  1684.         
  1685.         END_INTERFACE
  1686.     } IWbemQualifierSetVtbl;
  1687.     interface IWbemQualifierSet
  1688.     {
  1689.         CONST_VTBL struct IWbemQualifierSetVtbl *lpVtbl;
  1690.     };
  1691.     
  1692. #ifdef COBJMACROS
  1693. #define IWbemQualifierSet_QueryInterface(This,riid,ppvObject)
  1694.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1695. #define IWbemQualifierSet_AddRef(This)
  1696.     (This)->lpVtbl -> AddRef(This)
  1697. #define IWbemQualifierSet_Release(This)
  1698.     (This)->lpVtbl -> Release(This)
  1699. #define IWbemQualifierSet_Get(This,wszName,lFlags,pVal,plFlavor)
  1700.     (This)->lpVtbl -> Get(This,wszName,lFlags,pVal,plFlavor)
  1701. #define IWbemQualifierSet_Put(This,wszName,pVal,lFlavor)
  1702.     (This)->lpVtbl -> Put(This,wszName,pVal,lFlavor)
  1703. #define IWbemQualifierSet_Delete(This,wszName)
  1704.     (This)->lpVtbl -> Delete(This,wszName)
  1705. #define IWbemQualifierSet_GetNames(This,lFlags,pNames)
  1706.     (This)->lpVtbl -> GetNames(This,lFlags,pNames)
  1707. #define IWbemQualifierSet_BeginEnumeration(This,lFlags)
  1708.     (This)->lpVtbl -> BeginEnumeration(This,lFlags)
  1709. #define IWbemQualifierSet_Next(This,lFlags,pstrName,pVal,plFlavor)
  1710.     (This)->lpVtbl -> Next(This,lFlags,pstrName,pVal,plFlavor)
  1711. #define IWbemQualifierSet_EndEnumeration(This)
  1712.     (This)->lpVtbl -> EndEnumeration(This)
  1713. #endif /* COBJMACROS */
  1714. #endif  /* C style interface */
  1715. HRESULT STDMETHODCALLTYPE IWbemQualifierSet_Get_Proxy( 
  1716.     IWbemQualifierSet * This,
  1717.     /* [string][in] */ LPCWSTR wszName,
  1718.     /* [in] */ long lFlags,
  1719.     /* [unique][in][out] */ VARIANT *pVal,
  1720.     /* [unique][in][out] */ long *plFlavor);
  1721. void __RPC_STUB IWbemQualifierSet_Get_Stub(
  1722.     IRpcStubBuffer *This,
  1723.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1724.     PRPC_MESSAGE _pRpcMessage,
  1725.     DWORD *_pdwStubPhase);
  1726. HRESULT STDMETHODCALLTYPE IWbemQualifierSet_Put_Proxy( 
  1727.     IWbemQualifierSet * This,
  1728.     /* [string][in] */ LPCWSTR wszName,
  1729.     /* [in] */ VARIANT *pVal,
  1730.     /* [in] */ long lFlavor);
  1731. void __RPC_STUB IWbemQualifierSet_Put_Stub(
  1732.     IRpcStubBuffer *This,
  1733.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1734.     PRPC_MESSAGE _pRpcMessage,
  1735.     DWORD *_pdwStubPhase);
  1736. HRESULT STDMETHODCALLTYPE IWbemQualifierSet_Delete_Proxy( 
  1737.     IWbemQualifierSet * This,
  1738.     /* [string][in] */ LPCWSTR wszName);
  1739. void __RPC_STUB IWbemQualifierSet_Delete_Stub(
  1740.     IRpcStubBuffer *This,
  1741.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1742.     PRPC_MESSAGE _pRpcMessage,
  1743.     DWORD *_pdwStubPhase);
  1744. HRESULT STDMETHODCALLTYPE IWbemQualifierSet_GetNames_Proxy( 
  1745.     IWbemQualifierSet * This,
  1746.     /* [in] */ long lFlags,
  1747.     /* [out] */ SAFEARRAY * *pNames);
  1748. void __RPC_STUB IWbemQualifierSet_GetNames_Stub(
  1749.     IRpcStubBuffer *This,
  1750.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1751.     PRPC_MESSAGE _pRpcMessage,
  1752.     DWORD *_pdwStubPhase);
  1753. HRESULT STDMETHODCALLTYPE IWbemQualifierSet_BeginEnumeration_Proxy( 
  1754.     IWbemQualifierSet * This,
  1755.     /* [in] */ long lFlags);
  1756. void __RPC_STUB IWbemQualifierSet_BeginEnumeration_Stub(
  1757.     IRpcStubBuffer *This,
  1758.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1759.     PRPC_MESSAGE _pRpcMessage,
  1760.     DWORD *_pdwStubPhase);
  1761. HRESULT STDMETHODCALLTYPE IWbemQualifierSet_Next_Proxy( 
  1762.     IWbemQualifierSet * This,
  1763.     /* [in] */ long lFlags,
  1764.     /* [unique][in][out] */ BSTR *pstrName,
  1765.     /* [unique][in][out] */ VARIANT *pVal,
  1766.     /* [unique][in][out] */ long *plFlavor);
  1767. void __RPC_STUB IWbemQualifierSet_Next_Stub(
  1768.     IRpcStubBuffer *This,
  1769.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1770.     PRPC_MESSAGE _pRpcMessage,
  1771.     DWORD *_pdwStubPhase);
  1772. HRESULT STDMETHODCALLTYPE IWbemQualifierSet_EndEnumeration_Proxy( 
  1773.     IWbemQualifierSet * This);
  1774. void __RPC_STUB IWbemQualifierSet_EndEnumeration_Stub(
  1775.     IRpcStubBuffer *This,
  1776.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1777.     PRPC_MESSAGE _pRpcMessage,
  1778.     DWORD *_pdwStubPhase);
  1779. #endif  /* __IWbemQualifierSet_INTERFACE_DEFINED__ */
  1780. #ifndef __IWbemServices_INTERFACE_DEFINED__
  1781. #define __IWbemServices_INTERFACE_DEFINED__
  1782. /* interface IWbemServices */
  1783. /* [unique][uuid][restricted][object] */ 
  1784. EXTERN_C const IID IID_IWbemServices;
  1785. #if defined(__cplusplus) && !defined(CINTERFACE)
  1786.     
  1787.     MIDL_INTERFACE("9556dc99-828c-11cf-a37e-00aa003240c7")
  1788.     IWbemServices : public IUnknown
  1789.     {
  1790.     public:
  1791.         virtual HRESULT STDMETHODCALLTYPE OpenNamespace( 
  1792.             /* [in] */ const BSTR strNamespace,
  1793.             /* [in] */ long lFlags,
  1794.             /* [in] */ IWbemContext *pCtx,
  1795.             /* [unique][in][out] */ IWbemServices **ppWorkingNamespace,
  1796.             /* [unique][in][out] */ IWbemCallResult **ppResult) = 0;
  1797.         
  1798.         virtual HRESULT STDMETHODCALLTYPE CancelAsyncCall( 
  1799.             /* [in] */ IWbemObjectSink *pSink) = 0;
  1800.         
  1801.         virtual HRESULT STDMETHODCALLTYPE QueryObjectSink( 
  1802.             /* [in] */ long lFlags,
  1803.             /* [out] */ IWbemObjectSink **ppResponseHandler) = 0;
  1804.         
  1805.         virtual HRESULT STDMETHODCALLTYPE GetObject( 
  1806.             /* [in] */ const BSTR strObjectPath,
  1807.             /* [in] */ long lFlags,
  1808.             /* [in] */ IWbemContext *pCtx,
  1809.             /* [unique][in][out] */ IWbemClassObject **ppObject,
  1810.             /* [unique][in][out] */ IWbemCallResult **ppCallResult) = 0;
  1811.         
  1812.         virtual HRESULT STDMETHODCALLTYPE GetObjectAsync( 
  1813.             /* [in] */ const BSTR strObjectPath,
  1814.             /* [in] */ long lFlags,
  1815.             /* [in] */ IWbemContext *pCtx,
  1816.             /* [in] */ IWbemObjectSink *pResponseHandler) = 0;
  1817.         
  1818.         virtual HRESULT STDMETHODCALLTYPE PutClass( 
  1819.             /* [in] */ IWbemClassObject *pObject,
  1820.             /* [in] */ long lFlags,
  1821.             /* [in] */ IWbemContext *pCtx,
  1822.             /* [unique][in][out] */ IWbemCallResult **ppCallResult) = 0;
  1823.         
  1824.         virtual HRESULT STDMETHODCALLTYPE PutClassAsync( 
  1825.             /* [in] */ IWbemClassObject *pObject,
  1826.             /* [in] */ long lFlags,
  1827.             /* [in] */ IWbemContext *pCtx,
  1828.             /* [in] */ IWbemObjectSink *pResponseHandler) = 0;
  1829.         
  1830.         virtual HRESULT STDMETHODCALLTYPE DeleteClass( 
  1831.             /* [in] */ const BSTR strClass,
  1832.             /* [in] */ long lFlags,
  1833.             /* [in] */ IWbemContext *pCtx,
  1834.             /* [unique][in][out] */ IWbemCallResult **ppCallResult) = 0;
  1835.         
  1836.         virtual HRESULT STDMETHODCALLTYPE DeleteClassAsync( 
  1837.             /* [in] */ const BSTR strClass,
  1838.             /* [in] */ long lFlags,
  1839.             /* [in] */ IWbemContext *pCtx,
  1840.             /* [in] */ IWbemObjectSink *pResponseHandler) = 0;
  1841.         
  1842.         virtual HRESULT STDMETHODCALLTYPE CreateClassEnum( 
  1843.             /* [in] */ const BSTR strSuperclass,
  1844.             /* [in] */ long lFlags,
  1845.             /* [in] */ IWbemContext *pCtx,
  1846.             /* [out] */ IEnumWbemClassObject **ppEnum) = 0;
  1847.         
  1848.         virtual HRESULT STDMETHODCALLTYPE CreateClassEnumAsync( 
  1849.             /* [in] */ const BSTR strSuperclass,
  1850.             /* [in] */ long lFlags,
  1851.             /* [in] */ IWbemContext *pCtx,
  1852.             /* [in] */ IWbemObjectSink *pResponseHandler) = 0;
  1853.         
  1854.         virtual HRESULT STDMETHODCALLTYPE PutInstance( 
  1855.             /* [in] */ IWbemClassObject *pInst,
  1856.             /* [in] */ long lFlags,
  1857.             /* [in] */ IWbemContext *pCtx,
  1858.             /* [unique][in][out] */ IWbemCallResult **ppCallResult) = 0;
  1859.         
  1860.         virtual HRESULT STDMETHODCALLTYPE PutInstanceAsync( 
  1861.             /* [in] */ IWbemClassObject *pInst,
  1862.             /* [in] */ long lFlags,
  1863.             /* [in] */ IWbemContext *pCtx,
  1864.             /* [in] */ IWbemObjectSink *pResponseHandler) = 0;
  1865.         
  1866.         virtual HRESULT STDMETHODCALLTYPE DeleteInstance( 
  1867.             /* [in] */ const BSTR strObjectPath,
  1868.             /* [in] */ long lFlags,
  1869.             /* [in] */ IWbemContext *pCtx,
  1870.             /* [unique][in][out] */ IWbemCallResult **ppCallResult) = 0;
  1871.         
  1872.         virtual HRESULT STDMETHODCALLTYPE DeleteInstanceAsync( 
  1873.             /* [in] */ const BSTR strObjectPath,
  1874.             /* [in] */ long lFlags,
  1875.             /* [in] */ IWbemContext *pCtx,
  1876.             /* [in] */ IWbemObjectSink *pResponseHandler) = 0;
  1877.         
  1878.         virtual HRESULT STDMETHODCALLTYPE CreateInstanceEnum( 
  1879.             /* [in] */ const BSTR strFilter,
  1880.             /* [in] */ long lFlags,
  1881.             /* [in] */ IWbemContext *pCtx,
  1882.             /* [out] */ IEnumWbemClassObject **ppEnum) = 0;
  1883.         
  1884.         virtual HRESULT STDMETHODCALLTYPE CreateInstanceEnumAsync( 
  1885.             /* [in] */ const BSTR strFilter,
  1886.             /* [in] */ long lFlags,
  1887.             /* [in] */ IWbemContext *pCtx,
  1888.             /* [in] */ IWbemObjectSink *pResponseHandler) = 0;
  1889.         
  1890.         virtual HRESULT STDMETHODCALLTYPE ExecQuery( 
  1891.             /* [in] */ const BSTR strQueryLanguage,
  1892.             /* [in] */ const BSTR strQuery,
  1893.             /* [in] */ long lFlags,
  1894.             /* [in] */ IWbemContext *pCtx,
  1895.             /* [out] */ IEnumWbemClassObject **ppEnum) = 0;
  1896.         
  1897.         virtual HRESULT STDMETHODCALLTYPE ExecQueryAsync( 
  1898.             /* [in] */ const BSTR strQueryLanguage,
  1899.             /* [in] */ const BSTR strQuery,
  1900.             /* [in] */ long lFlags,
  1901.             /* [in] */ IWbemContext *pCtx,
  1902.             /* [in] */ IWbemObjectSink *pResponseHandler) = 0;
  1903.         
  1904.         virtual HRESULT STDMETHODCALLTYPE ExecNotificationQuery( 
  1905.             /* [in] */ const BSTR strQueryLanguage,
  1906.             /* [in] */ const BSTR strQuery,
  1907.             /* [in] */ long lFlags,
  1908.             /* [in] */ IWbemContext *pCtx,
  1909.             /* [out] */ IEnumWbemClassObject **ppEnum) = 0;
  1910.         
  1911.         virtual HRESULT STDMETHODCALLTYPE ExecNotificationQueryAsync( 
  1912.             /* [in] */ const BSTR strQueryLanguage,
  1913.             /* [in] */ const BSTR strQuery,
  1914.             /* [in] */ long lFlags,
  1915.             /* [in] */ IWbemContext *pCtx,
  1916.             /* [in] */ IWbemObjectSink *pResponseHandler) = 0;
  1917.         
  1918.         virtual HRESULT STDMETHODCALLTYPE ExecMethod( 
  1919.             /* [in] */ const BSTR strObjectPath,
  1920.             /* [in] */ const BSTR strMethodName,
  1921.             /* [in] */ long lFlags,
  1922.             /* [in] */ IWbemContext *pCtx,
  1923.             /* [in] */ IWbemClassObject *pInParams,
  1924.             /* [unique][in][out] */ IWbemClassObject **ppOutParams,
  1925.             /* [unique][in][out] */ IWbemCallResult **ppCallResult) = 0;
  1926.         
  1927.         virtual HRESULT STDMETHODCALLTYPE ExecMethodAsync( 
  1928.             /* [in] */ const BSTR strObjectPath,
  1929.             /* [in] */ const BSTR strMethodName,
  1930.             /* [in] */ long lFlags,
  1931.             /* [in] */ IWbemContext *pCtx,
  1932.             /* [in] */ IWbemClassObject *pInParams,
  1933.             /* [in] */ IWbemObjectSink *pResponseHandler) = 0;
  1934.         
  1935.     };
  1936.     
  1937. #else  /* C style interface */
  1938.     typedef struct IWbemServicesVtbl
  1939.     {
  1940.         BEGIN_INTERFACE
  1941.         
  1942.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1943.             IWbemServices * This,
  1944.             /* [in] */ REFIID riid,
  1945.             /* [iid_is][out] */ void **ppvObject);
  1946.         
  1947.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1948.             IWbemServices * This);
  1949.         
  1950.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1951.             IWbemServices * This);
  1952.         
  1953.         HRESULT ( STDMETHODCALLTYPE *OpenNamespace )( 
  1954.             IWbemServices * This,
  1955.             /* [in] */ const BSTR strNamespace,
  1956.             /* [in] */ long lFlags,
  1957.             /* [in] */ IWbemContext *pCtx,
  1958.             /* [unique][in][out] */ IWbemServices **ppWorkingNamespace,
  1959.             /* [unique][in][out] */ IWbemCallResult **ppResult);
  1960.         
  1961.         HRESULT ( STDMETHODCALLTYPE *CancelAsyncCall )( 
  1962.             IWbemServices * This,
  1963.             /* [in] */ IWbemObjectSink *pSink);
  1964.         
  1965.         HRESULT ( STDMETHODCALLTYPE *QueryObjectSink )( 
  1966.             IWbemServices * This,
  1967.             /* [in] */ long lFlags,
  1968.             /* [out] */ IWbemObjectSink **ppResponseHandler);
  1969.         
  1970.         HRESULT ( STDMETHODCALLTYPE *GetObject )( 
  1971.             IWbemServices * This,
  1972.             /* [in] */ const BSTR strObjectPath,
  1973.             /* [in] */ long lFlags,
  1974.             /* [in] */ IWbemContext *pCtx,
  1975.             /* [unique][in][out] */ IWbemClassObject **ppObject,
  1976.             /* [unique][in][out] */ IWbemCallResult **ppCallResult);
  1977.         
  1978.         HRESULT ( STDMETHODCALLTYPE *GetObjectAsync )( 
  1979.             IWbemServices * This,
  1980.             /* [in] */ const BSTR strObjectPath,
  1981.             /* [in] */ long lFlags,
  1982.             /* [in] */ IWbemContext *pCtx,
  1983.             /* [in] */ IWbemObjectSink *pResponseHandler);
  1984.         
  1985.         HRESULT ( STDMETHODCALLTYPE *PutClass )( 
  1986.             IWbemServices * This,
  1987.             /* [in] */ IWbemClassObject *pObject,
  1988.             /* [in] */ long lFlags,
  1989.             /* [in] */ IWbemContext *pCtx,
  1990.             /* [unique][in][out] */ IWbemCallResult **ppCallResult);
  1991.         
  1992.         HRESULT ( STDMETHODCALLTYPE *PutClassAsync )( 
  1993.             IWbemServices * This,
  1994.             /* [in] */ IWbemClassObject *pObject,
  1995.             /* [in] */ long lFlags,
  1996.             /* [in] */ IWbemContext *pCtx,
  1997.             /* [in] */ IWbemObjectSink *pResponseHandler);
  1998.         
  1999.         HRESULT ( STDMETHODCALLTYPE *DeleteClass )( 
  2000.             IWbemServices * This,
  2001.             /* [in] */ const BSTR strClass,
  2002.             /* [in] */ long lFlags,
  2003.             /* [in] */ IWbemContext *pCtx,
  2004.             /* [unique][in][out] */ IWbemCallResult **ppCallResult);
  2005.         
  2006.         HRESULT ( STDMETHODCALLTYPE *DeleteClassAsync )( 
  2007.             IWbemServices * This,
  2008.             /* [in] */ const BSTR strClass,
  2009.             /* [in] */ long lFlags,
  2010.             /* [in] */ IWbemContext *pCtx,
  2011.             /* [in] */ IWbemObjectSink *pResponseHandler);
  2012.         
  2013.         HRESULT ( STDMETHODCALLTYPE *CreateClassEnum )( 
  2014.             IWbemServices * This,
  2015.             /* [in] */ const BSTR strSuperclass,
  2016.             /* [in] */ long lFlags,
  2017.             /* [in] */ IWbemContext *pCtx,
  2018.             /* [out] */ IEnumWbemClassObject **ppEnum);
  2019.         
  2020.         HRESULT ( STDMETHODCALLTYPE *CreateClassEnumAsync )( 
  2021.             IWbemServices * This,
  2022.             /* [in] */ const BSTR strSuperclass,
  2023.             /* [in] */ long lFlags,
  2024.             /* [in] */ IWbemContext *pCtx,
  2025.             /* [in] */ IWbemObjectSink *pResponseHandler);
  2026.         
  2027.         HRESULT ( STDMETHODCALLTYPE *PutInstance )( 
  2028.             IWbemServices * This,
  2029.             /* [in] */ IWbemClassObject *pInst,
  2030.             /* [in] */ long lFlags,
  2031.             /* [in] */ IWbemContext *pCtx,
  2032.             /* [unique][in][out] */ IWbemCallResult **ppCallResult);
  2033.         
  2034.         HRESULT ( STDMETHODCALLTYPE *PutInstanceAsync )( 
  2035.             IWbemServices * This,
  2036.             /* [in] */ IWbemClassObject *pInst,
  2037.             /* [in] */ long lFlags,
  2038.             /* [in] */ IWbemContext *pCtx,
  2039.             /* [in] */ IWbemObjectSink *pResponseHandler);
  2040.         
  2041.         HRESULT ( STDMETHODCALLTYPE *DeleteInstance )( 
  2042.             IWbemServices * This,
  2043.             /* [in] */ const BSTR strObjectPath,
  2044.             /* [in] */ long lFlags,
  2045.             /* [in] */ IWbemContext *pCtx,
  2046.             /* [unique][in][out] */ IWbemCallResult **ppCallResult);
  2047.         
  2048.         HRESULT ( STDMETHODCALLTYPE *DeleteInstanceAsync )( 
  2049.             IWbemServices * This,
  2050.             /* [in] */ const BSTR strObjectPath,
  2051.             /* [in] */ long lFlags,
  2052.             /* [in] */ IWbemContext *pCtx,
  2053.             /* [in] */ IWbemObjectSink *pResponseHandler);
  2054.         
  2055.         HRESULT ( STDMETHODCALLTYPE *CreateInstanceEnum )( 
  2056.             IWbemServices * This,
  2057.             /* [in] */ const BSTR strFilter,
  2058.             /* [in] */ long lFlags,
  2059.             /* [in] */ IWbemContext *pCtx,
  2060.             /* [out] */ IEnumWbemClassObject **ppEnum);
  2061.         
  2062.         HRESULT ( STDMETHODCALLTYPE *CreateInstanceEnumAsync )( 
  2063.             IWbemServices * This,
  2064.             /* [in] */ const BSTR strFilter,
  2065.             /* [in] */ long lFlags,
  2066.             /* [in] */ IWbemContext *pCtx,
  2067.             /* [in] */ IWbemObjectSink *pResponseHandler);
  2068.         
  2069.         HRESULT ( STDMETHODCALLTYPE *ExecQuery )( 
  2070.             IWbemServices * This,
  2071.             /* [in] */ const BSTR strQueryLanguage,
  2072.             /* [in] */ const BSTR strQuery,
  2073.             /* [in] */ long lFlags,
  2074.             /* [in] */ IWbemContext *pCtx,
  2075.             /* [out] */ IEnumWbemClassObject **ppEnum);
  2076.         
  2077.         HRESULT ( STDMETHODCALLTYPE *ExecQueryAsync )( 
  2078.             IWbemServices * This,
  2079.             /* [in] */ const BSTR strQueryLanguage,
  2080.             /* [in] */ const BSTR strQuery,
  2081.             /* [in] */ long lFlags,
  2082.             /* [in] */ IWbemContext *pCtx,
  2083.             /* [in] */ IWbemObjectSink *pResponseHandler);
  2084.         
  2085.         HRESULT ( STDMETHODCALLTYPE *ExecNotificationQuery )( 
  2086.             IWbemServices * This,
  2087.             /* [in] */ const BSTR strQueryLanguage,
  2088.             /* [in] */ const BSTR strQuery,
  2089.             /* [in] */ long lFlags,
  2090.             /* [in] */ IWbemContext *pCtx,
  2091.             /* [out] */ IEnumWbemClassObject **ppEnum);
  2092.         
  2093.         HRESULT ( STDMETHODCALLTYPE *ExecNotificationQueryAsync )( 
  2094.             IWbemServices * This,
  2095.             /* [in] */ const BSTR strQueryLanguage,
  2096.             /* [in] */ const BSTR strQuery,
  2097.             /* [in] */ long lFlags,
  2098.             /* [in] */ IWbemContext *pCtx,
  2099.             /* [in] */ IWbemObjectSink *pResponseHandler);
  2100.         
  2101.         HRESULT ( STDMETHODCALLTYPE *ExecMethod )( 
  2102.             IWbemServices * This,
  2103.             /* [in] */ const BSTR strObjectPath,
  2104.             /* [in] */ const BSTR strMethodName,
  2105.             /* [in] */ long lFlags,
  2106.             /* [in] */ IWbemContext *pCtx,
  2107.             /* [in] */ IWbemClassObject *pInParams,
  2108.             /* [unique][in][out] */ IWbemClassObject **ppOutParams,
  2109.             /* [unique][in][out] */ IWbemCallResult **ppCallResult);
  2110.         
  2111.         HRESULT ( STDMETHODCALLTYPE *ExecMethodAsync )( 
  2112.             IWbemServices * This,
  2113.             /* [in] */ const BSTR strObjectPath,
  2114.             /* [in] */ const BSTR strMethodName,
  2115.             /* [in] */ long lFlags,
  2116.             /* [in] */ IWbemContext *pCtx,
  2117.             /* [in] */ IWbemClassObject *pInParams,
  2118.             /* [in] */ IWbemObjectSink *pResponseHandler);
  2119.         
  2120.         END_INTERFACE
  2121.     } IWbemServicesVtbl;
  2122.     interface IWbemServices
  2123.     {
  2124.         CONST_VTBL struct IWbemServicesVtbl *lpVtbl;
  2125.     };
  2126.     
  2127. #ifdef COBJMACROS
  2128. #define IWbemServices_QueryInterface(This,riid,ppvObject)
  2129.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2130. #define IWbemServices_AddRef(This)
  2131.     (This)->lpVtbl -> AddRef(This)
  2132. #define IWbemServices_Release(This)
  2133.     (This)->lpVtbl -> Release(This)
  2134. #define IWbemServices_OpenNamespace(This,strNamespace,lFlags,pCtx,ppWorkingNamespace,ppResult)
  2135.     (This)->lpVtbl -> OpenNamespace(This,strNamespace,lFlags,pCtx,ppWorkingNamespace,ppResult)
  2136. #define IWbemServices_CancelAsyncCall(This,pSink)
  2137.     (This)->lpVtbl -> CancelAsyncCall(This,pSink)
  2138. #define IWbemServices_QueryObjectSink(This,lFlags,ppResponseHandler)
  2139.     (This)->lpVtbl -> QueryObjectSink(This,lFlags,ppResponseHandler)
  2140. #define IWbemServices_GetObject(This,strObjectPath,lFlags,pCtx,ppObject,ppCallResult)
  2141.     (This)->lpVtbl -> GetObject(This,strObjectPath,lFlags,pCtx,ppObject,ppCallResult)
  2142. #define IWbemServices_GetObjectAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler)
  2143.     (This)->lpVtbl -> GetObjectAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler)
  2144. #define IWbemServices_PutClass(This,pObject,lFlags,pCtx,ppCallResult)
  2145.     (This)->lpVtbl -> PutClass(This,pObject,lFlags,pCtx,ppCallResult)
  2146. #define IWbemServices_PutClassAsync(This,pObject,lFlags,pCtx,pResponseHandler)
  2147.     (This)->lpVtbl -> PutClassAsync(This,pObject,lFlags,pCtx,pResponseHandler)
  2148. #define IWbemServices_DeleteClass(This,strClass,lFlags,pCtx,ppCallResult)
  2149.     (This)->lpVtbl -> DeleteClass(This,strClass,lFlags,pCtx,ppCallResult)
  2150. #define IWbemServices_DeleteClassAsync(This,strClass,lFlags,pCtx,pResponseHandler)
  2151.     (This)->lpVtbl -> DeleteClassAsync(This,strClass,lFlags,pCtx,pResponseHandler)
  2152. #define IWbemServices_CreateClassEnum(This,strSuperclass,lFlags,pCtx,ppEnum)
  2153.     (This)->lpVtbl -> CreateClassEnum(This,strSuperclass,lFlags,pCtx,ppEnum)
  2154. #define IWbemServices_CreateClassEnumAsync(This,strSuperclass,lFlags,pCtx,pResponseHandler)
  2155.     (This)->lpVtbl -> CreateClassEnumAsync(This,strSuperclass,lFlags,pCtx,pResponseHandler)
  2156. #define IWbemServices_PutInstance(This,pInst,lFlags,pCtx,ppCallResult)
  2157.     (This)->lpVtbl -> PutInstance(This,pInst,lFlags,pCtx,ppCallResult)
  2158. #define IWbemServices_PutInstanceAsync(This,pInst,lFlags,pCtx,pResponseHandler)
  2159.     (This)->lpVtbl -> PutInstanceAsync(This,pInst,lFlags,pCtx,pResponseHandler)
  2160. #define IWbemServices_DeleteInstance(This,strObjectPath,lFlags,pCtx,ppCallResult)
  2161.     (This)->lpVtbl -> DeleteInstance(This,strObjectPath,lFlags,pCtx,ppCallResult)
  2162. #define IWbemServices_DeleteInstanceAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler)
  2163.     (This)->lpVtbl -> DeleteInstanceAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler)
  2164. #define IWbemServices_CreateInstanceEnum(This,strFilter,lFlags,pCtx,ppEnum)
  2165.     (This)->lpVtbl -> CreateInstanceEnum(This,strFilter,lFlags,pCtx,ppEnum)
  2166. #define IWbemServices_CreateInstanceEnumAsync(This,strFilter,lFlags,pCtx,pResponseHandler)
  2167.     (This)->lpVtbl -> CreateInstanceEnumAsync(This,strFilter,lFlags,pCtx,pResponseHandler)
  2168. #define IWbemServices_ExecQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum)
  2169.     (This)->lpVtbl -> ExecQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum)
  2170. #define IWbemServices_ExecQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler)
  2171.     (This)->lpVtbl -> ExecQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler)
  2172. #define IWbemServices_ExecNotificationQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum)
  2173.     (This)->lpVtbl -> ExecNotificationQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum)
  2174. #define IWbemServices_ExecNotificationQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler)
  2175.     (This)->lpVtbl -> ExecNotificationQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler)
  2176. #define IWbemServices_ExecMethod(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,ppOutParams,ppCallResult)
  2177.     (This)->lpVtbl -> ExecMethod(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,ppOutParams,ppCallResult)
  2178. #define IWbemServices_ExecMethodAsync(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,pResponseHandler)
  2179.     (This)->lpVtbl -> ExecMethodAsync(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,pResponseHandler)
  2180. #endif /* COBJMACROS */
  2181. #endif  /* C style interface */
  2182. HRESULT STDMETHODCALLTYPE IWbemServices_OpenNamespace_Proxy( 
  2183.     IWbemServices * This,
  2184.     /* [in] */ const BSTR strNamespace,
  2185.     /* [in] */ long lFlags,
  2186.     /* [in] */ IWbemContext *pCtx,
  2187.     /* [unique][in][out] */ IWbemServices **ppWorkingNamespace,
  2188.     /* [unique][in][out] */ IWbemCallResult **ppResult);
  2189. void __RPC_STUB IWbemServices_OpenNamespace_Stub(
  2190.     IRpcStubBuffer *This,
  2191.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2192.     PRPC_MESSAGE _pRpcMessage,
  2193.     DWORD *_pdwStubPhase);
  2194. HRESULT STDMETHODCALLTYPE IWbemServices_CancelAsyncCall_Proxy( 
  2195.     IWbemServices * This,
  2196.     /* [in] */ IWbemObjectSink *pSink);
  2197. void __RPC_STUB IWbemServices_CancelAsyncCall_Stub(
  2198.     IRpcStubBuffer *This,
  2199.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2200.     PRPC_MESSAGE _pRpcMessage,
  2201.     DWORD *_pdwStubPhase);
  2202. HRESULT STDMETHODCALLTYPE IWbemServices_QueryObjectSink_Proxy( 
  2203.     IWbemServices * This,
  2204.     /* [in] */ long lFlags,
  2205.     /* [out] */ IWbemObjectSink **ppResponseHandler);
  2206. void __RPC_STUB IWbemServices_QueryObjectSink_Stub(
  2207.     IRpcStubBuffer *This,
  2208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2209.     PRPC_MESSAGE _pRpcMessage,
  2210.     DWORD *_pdwStubPhase);
  2211. HRESULT STDMETHODCALLTYPE IWbemServices_GetObject_Proxy( 
  2212.     IWbemServices * This,
  2213.     /* [in] */ const BSTR strObjectPath,
  2214.     /* [in] */ long lFlags,
  2215.     /* [in] */ IWbemContext *pCtx,
  2216.     /* [unique][in][out] */ IWbemClassObject **ppObject,
  2217.     /* [unique][in][out] */ IWbemCallResult **ppCallResult);
  2218. void __RPC_STUB IWbemServices_GetObject_Stub(
  2219.     IRpcStubBuffer *This,
  2220.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2221.     PRPC_MESSAGE _pRpcMessage,
  2222.     DWORD *_pdwStubPhase);
  2223. HRESULT STDMETHODCALLTYPE IWbemServices_GetObjectAsync_Proxy( 
  2224.     IWbemServices * This,
  2225.     /* [in] */ const BSTR strObjectPath,
  2226.     /* [in] */ long lFlags,
  2227.     /* [in] */ IWbemContext *pCtx,
  2228.     /* [in] */ IWbemObjectSink *pResponseHandler);
  2229. void __RPC_STUB IWbemServices_GetObjectAsync_Stub(
  2230.     IRpcStubBuffer *This,
  2231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2232.     PRPC_MESSAGE _pRpcMessage,
  2233.     DWORD *_pdwStubPhase);
  2234. HRESULT STDMETHODCALLTYPE IWbemServices_PutClass_Proxy( 
  2235.     IWbemServices * This,
  2236.     /* [in] */ IWbemClassObject *pObject,
  2237.     /* [in] */ long lFlags,
  2238.     /* [in] */ IWbemContext *pCtx,
  2239.     /* [unique][in][out] */ IWbemCallResult **ppCallResult);
  2240. void __RPC_STUB IWbemServices_PutClass_Stub(
  2241.     IRpcStubBuffer *This,
  2242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2243.     PRPC_MESSAGE _pRpcMessage,
  2244.     DWORD *_pdwStubPhase);
  2245. HRESULT STDMETHODCALLTYPE IWbemServices_PutClassAsync_Proxy( 
  2246.     IWbemServices * This,
  2247.     /* [in] */ IWbemClassObject *pObject,
  2248.     /* [in] */ long lFlags,
  2249.     /* [in] */ IWbemContext *pCtx,
  2250.     /* [in] */ IWbemObjectSink *pResponseHandler);
  2251. void __RPC_STUB IWbemServices_PutClassAsync_Stub(
  2252.     IRpcStubBuffer *This,
  2253.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2254.     PRPC_MESSAGE _pRpcMessage,
  2255.     DWORD *_pdwStubPhase);
  2256. HRESULT STDMETHODCALLTYPE IWbemServices_DeleteClass_Proxy( 
  2257.     IWbemServices * This,
  2258.     /* [in] */ const BSTR strClass,
  2259.     /* [in] */ long lFlags,
  2260.     /* [in] */ IWbemContext *pCtx,
  2261.     /* [unique][in][out] */ IWbemCallResult **ppCallResult);
  2262. void __RPC_STUB IWbemServices_DeleteClass_Stub(
  2263.     IRpcStubBuffer *This,
  2264.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2265.     PRPC_MESSAGE _pRpcMessage,
  2266.     DWORD *_pdwStubPhase);
  2267. HRESULT STDMETHODCALLTYPE IWbemServices_DeleteClassAsync_Proxy( 
  2268.     IWbemServices * This,
  2269.     /* [in] */ const BSTR strClass,
  2270.     /* [in] */ long lFlags,
  2271.     /* [in] */ IWbemContext *pCtx,
  2272.     /* [in] */ IWbemObjectSink *pResponseHandler);
  2273. void __RPC_STUB IWbemServices_DeleteClassAsync_Stub(
  2274.     IRpcStubBuffer *This,
  2275.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2276.     PRPC_MESSAGE _pRpcMessage,
  2277.     DWORD *_pdwStubPhase);
  2278. HRESULT STDMETHODCALLTYPE IWbemServices_CreateClassEnum_Proxy( 
  2279.     IWbemServices * This,
  2280.     /* [in] */ const BSTR strSuperclass,
  2281.     /* [in] */ long lFlags,
  2282.     /* [in] */ IWbemContext *pCtx,
  2283.     /* [out] */ IEnumWbemClassObject **ppEnum);
  2284. void __RPC_STUB IWbemServices_CreateClassEnum_Stub(
  2285.     IRpcStubBuffer *This,
  2286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2287.     PRPC_MESSAGE _pRpcMessage,
  2288.     DWORD *_pdwStubPhase);
  2289. HRESULT STDMETHODCALLTYPE IWbemServices_CreateClassEnumAsync_Proxy( 
  2290.     IWbemServices * This,
  2291.     /* [in] */ const BSTR strSuperclass,
  2292.     /* [in] */ long lFlags,
  2293.     /* [in] */ IWbemContext *pCtx,
  2294.     /* [in] */ IWbemObjectSink *pResponseHandler);
  2295. void __RPC_STUB IWbemServices_CreateClassEnumAsync_Stub(
  2296.     IRpcStubBuffer *This,
  2297.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2298.     PRPC_MESSAGE _pRpcMessage,
  2299.     DWORD *_pdwStubPhase);
  2300. HRESULT STDMETHODCALLTYPE IWbemServices_PutInstance_Proxy( 
  2301.     IWbemServices * This,
  2302.     /* [in] */ IWbemClassObject *pInst,
  2303.     /* [in] */ long lFlags,
  2304.     /* [in] */ IWbemContext *pCtx,
  2305.     /* [unique][in][out] */ IWbemCallResult **ppCallResult);
  2306. void __RPC_STUB IWbemServices_PutInstance_Stub(
  2307.     IRpcStubBuffer *This,
  2308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2309.     PRPC_MESSAGE _pRpcMessage,
  2310.     DWORD *_pdwStubPhase);
  2311. HRESULT STDMETHODCALLTYPE IWbemServices_PutInstanceAsync_Proxy( 
  2312.     IWbemServices * This,