Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1713 lines
48 KiB

  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 wmiutils.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 __wmiutils_h__
  27. #define __wmiutils_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IWbemPathKeyList_FWD_DEFINED__
  33. #define __IWbemPathKeyList_FWD_DEFINED__
  34. typedef interface IWbemPathKeyList IWbemPathKeyList;
  35. #endif /* __IWbemPathKeyList_FWD_DEFINED__ */
  36. #ifndef __IWbemPath_FWD_DEFINED__
  37. #define __IWbemPath_FWD_DEFINED__
  38. typedef interface IWbemPath IWbemPath;
  39. #endif /* __IWbemPath_FWD_DEFINED__ */
  40. #ifndef __WbemDefPath_FWD_DEFINED__
  41. #define __WbemDefPath_FWD_DEFINED__
  42. #ifdef __cplusplus
  43. typedef class WbemDefPath WbemDefPath;
  44. #else
  45. typedef struct WbemDefPath WbemDefPath;
  46. #endif /* __cplusplus */
  47. #endif /* __WbemDefPath_FWD_DEFINED__ */
  48. #ifndef __IWbemQuery_FWD_DEFINED__
  49. #define __IWbemQuery_FWD_DEFINED__
  50. typedef interface IWbemQuery IWbemQuery;
  51. #endif /* __IWbemQuery_FWD_DEFINED__ */
  52. #ifndef __WbemQuery_FWD_DEFINED__
  53. #define __WbemQuery_FWD_DEFINED__
  54. #ifdef __cplusplus
  55. typedef class WbemQuery WbemQuery;
  56. #else
  57. typedef struct WbemQuery WbemQuery;
  58. #endif /* __cplusplus */
  59. #endif /* __WbemQuery_FWD_DEFINED__ */
  60. #ifndef __IWbemQuery_FWD_DEFINED__
  61. #define __IWbemQuery_FWD_DEFINED__
  62. typedef interface IWbemQuery IWbemQuery;
  63. #endif /* __IWbemQuery_FWD_DEFINED__ */
  64. #ifdef __cplusplus
  65. extern "C"{
  66. #endif
  67. void * __RPC_USER MIDL_user_allocate(size_t);
  68. void __RPC_USER MIDL_user_free( void * );
  69. #ifndef __WbemUtilities_v1_LIBRARY_DEFINED__
  70. #define __WbemUtilities_v1_LIBRARY_DEFINED__
  71. /* library WbemUtilities_v1 */
  72. /* [uuid] */
  73. typedef /* [v1_enum] */
  74. enum tag_WBEM_PATH_STATUS_FLAG
  75. { WBEMPATH_INFO_ANON_LOCAL_MACHINE = 0x1,
  76. WBEMPATH_INFO_HAS_MACHINE_NAME = 0x2,
  77. WBEMPATH_INFO_IS_CLASS_REF = 0x4,
  78. WBEMPATH_INFO_IS_INST_REF = 0x8,
  79. WBEMPATH_INFO_HAS_SUBSCOPES = 0x10,
  80. WBEMPATH_INFO_IS_COMPOUND = 0x20,
  81. WBEMPATH_INFO_HAS_V2_REF_PATHS = 0x40,
  82. WBEMPATH_INFO_HAS_IMPLIED_KEY = 0x80,
  83. WBEMPATH_INFO_CONTAINS_SINGLETON = 0x100,
  84. WBEMPATH_INFO_V1_COMPLIANT = 0x200,
  85. WBEMPATH_INFO_V2_COMPLIANT = 0x400,
  86. WBEMPATH_INFO_CIM_COMPLIANT = 0x800,
  87. WBEMPATH_INFO_IS_SINGLETON = 0x1000,
  88. WBEMPATH_INFO_IS_PARENT = 0x2000,
  89. WBEMPATH_INFO_SERVER_NAMESPACE_ONLY = 0x4000,
  90. WBEMPATH_INFO_NATIVE_PATH = 0x8000,
  91. WBEMPATH_INFO_WMI_PATH = 0x10000,
  92. WBEMPATH_INFO_PATH_HAD_SERVER = 0x20000
  93. } tag_WBEM_PATH_STATUS_FLAG;
  94. typedef /* [v1_enum] */
  95. enum tag_WBEM_PATH_CREATE_FLAG
  96. { WBEMPATH_CREATE_ACCEPT_RELATIVE = 0x1,
  97. WBEMPATH_CREATE_ACCEPT_ABSOLUTE = 0x2,
  98. WBEMPATH_CREATE_ACCEPT_ALL = 0x4,
  99. WBEMPATH_TREAT_SINGLE_IDENT_AS_NS = 0x8
  100. } tag_WBEM_PATH_CREATE_FLAG;
  101. typedef /* [v1_enum] */
  102. enum tag_WBEM_GET_TEXT_FLAGS
  103. { WBEMPATH_COMPRESSED = 0x1,
  104. WBEMPATH_GET_RELATIVE_ONLY = 0x2,
  105. WBEMPATH_GET_SERVER_TOO = 0x4,
  106. WBEMPATH_GET_SERVER_AND_NAMESPACE_ONLY = 0x8,
  107. WBEMPATH_GET_NAMESPACE_ONLY = 0x10,
  108. WBEMPATH_GET_ORIGINAL = 0x20
  109. } tag_WBEM_GET_TEXT_FLAGS;
  110. typedef /* [v1_enum] */
  111. enum tag_WBEM_GET_KEY_FLAGS
  112. { WBEMPATH_TEXT = 0x1,
  113. WBEMPATH_QUOTEDTEXT = 0x2
  114. } tag_WBEM_GET_KEY_FLAGS;
  115. EXTERN_C const IID LIBID_WbemUtilities_v1;
  116. #ifndef __IWbemPathKeyList_INTERFACE_DEFINED__
  117. #define __IWbemPathKeyList_INTERFACE_DEFINED__
  118. /* interface IWbemPathKeyList */
  119. /* [uuid][object][local] */
  120. EXTERN_C const IID IID_IWbemPathKeyList;
  121. #if defined(__cplusplus) && !defined(CINTERFACE)
  122. MIDL_INTERFACE("9AE62877-7544-4bb0-AA26-A13824659ED6")
  123. IWbemPathKeyList : public IUnknown
  124. {
  125. public:
  126. virtual HRESULT STDMETHODCALLTYPE GetCount(
  127. /* [out] */ ULONG *puKeyCount) = 0;
  128. virtual HRESULT STDMETHODCALLTYPE SetKey(
  129. /* [string][in] */ LPCWSTR wszName,
  130. /* [in] */ ULONG uFlags,
  131. /* [in] */ ULONG uCimType,
  132. /* [in] */ LPVOID pKeyVal) = 0;
  133. virtual HRESULT STDMETHODCALLTYPE SetKey2(
  134. /* [string][in] */ LPCWSTR wszName,
  135. /* [in] */ ULONG uFlags,
  136. /* [in] */ ULONG uCimType,
  137. /* [in] */ VARIANT *pKeyVal) = 0;
  138. virtual HRESULT STDMETHODCALLTYPE GetKey(
  139. /* [in] */ ULONG uKeyIx,
  140. /* [in] */ ULONG uFlags,
  141. /* [out][in] */ ULONG *puNameBufSize,
  142. /* [out][in] */ LPWSTR pszKeyName,
  143. /* [out][in] */ ULONG *puKeyValBufSize,
  144. /* [out][in] */ LPVOID pKeyVal,
  145. /* [out] */ ULONG *puApparentCimType) = 0;
  146. virtual HRESULT STDMETHODCALLTYPE GetKey2(
  147. /* [in] */ ULONG uKeyIx,
  148. /* [in] */ ULONG uFlags,
  149. /* [out][in] */ ULONG *puNameBufSize,
  150. /* [out][in] */ LPWSTR pszKeyName,
  151. /* [out][in] */ VARIANT *pKeyValue,
  152. /* [out] */ ULONG *puApparentCimType) = 0;
  153. virtual HRESULT STDMETHODCALLTYPE RemoveKey(
  154. /* [string][in] */ LPCWSTR wszName,
  155. /* [in] */ ULONG uFlags) = 0;
  156. virtual HRESULT STDMETHODCALLTYPE RemoveAllKeys(
  157. /* [in] */ ULONG uFlags) = 0;
  158. virtual HRESULT STDMETHODCALLTYPE MakeSingleton(
  159. /* [in] */ boolean bSet) = 0;
  160. virtual HRESULT STDMETHODCALLTYPE GetInfo(
  161. /* [in] */ ULONG uRequestedInfo,
  162. /* [out] */ ULONGLONG *puResponse) = 0;
  163. virtual HRESULT STDMETHODCALLTYPE GetText(
  164. /* [in] */ long lFlags,
  165. /* [out][in] */ ULONG *puBuffLength,
  166. /* [string][out][in] */ LPWSTR pszText) = 0;
  167. };
  168. #else /* C style interface */
  169. typedef struct IWbemPathKeyListVtbl
  170. {
  171. BEGIN_INTERFACE
  172. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  173. IWbemPathKeyList * This,
  174. /* [in] */ REFIID riid,
  175. /* [iid_is][out] */ void **ppvObject);
  176. ULONG ( STDMETHODCALLTYPE *AddRef )(
  177. IWbemPathKeyList * This);
  178. ULONG ( STDMETHODCALLTYPE *Release )(
  179. IWbemPathKeyList * This);
  180. HRESULT ( STDMETHODCALLTYPE *GetCount )(
  181. IWbemPathKeyList * This,
  182. /* [out] */ ULONG *puKeyCount);
  183. HRESULT ( STDMETHODCALLTYPE *SetKey )(
  184. IWbemPathKeyList * This,
  185. /* [string][in] */ LPCWSTR wszName,
  186. /* [in] */ ULONG uFlags,
  187. /* [in] */ ULONG uCimType,
  188. /* [in] */ LPVOID pKeyVal);
  189. HRESULT ( STDMETHODCALLTYPE *SetKey2 )(
  190. IWbemPathKeyList * This,
  191. /* [string][in] */ LPCWSTR wszName,
  192. /* [in] */ ULONG uFlags,
  193. /* [in] */ ULONG uCimType,
  194. /* [in] */ VARIANT *pKeyVal);
  195. HRESULT ( STDMETHODCALLTYPE *GetKey )(
  196. IWbemPathKeyList * This,
  197. /* [in] */ ULONG uKeyIx,
  198. /* [in] */ ULONG uFlags,
  199. /* [out][in] */ ULONG *puNameBufSize,
  200. /* [out][in] */ LPWSTR pszKeyName,
  201. /* [out][in] */ ULONG *puKeyValBufSize,
  202. /* [out][in] */ LPVOID pKeyVal,
  203. /* [out] */ ULONG *puApparentCimType);
  204. HRESULT ( STDMETHODCALLTYPE *GetKey2 )(
  205. IWbemPathKeyList * This,
  206. /* [in] */ ULONG uKeyIx,
  207. /* [in] */ ULONG uFlags,
  208. /* [out][in] */ ULONG *puNameBufSize,
  209. /* [out][in] */ LPWSTR pszKeyName,
  210. /* [out][in] */ VARIANT *pKeyValue,
  211. /* [out] */ ULONG *puApparentCimType);
  212. HRESULT ( STDMETHODCALLTYPE *RemoveKey )(
  213. IWbemPathKeyList * This,
  214. /* [string][in] */ LPCWSTR wszName,
  215. /* [in] */ ULONG uFlags);
  216. HRESULT ( STDMETHODCALLTYPE *RemoveAllKeys )(
  217. IWbemPathKeyList * This,
  218. /* [in] */ ULONG uFlags);
  219. HRESULT ( STDMETHODCALLTYPE *MakeSingleton )(
  220. IWbemPathKeyList * This,
  221. /* [in] */ boolean bSet);
  222. HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  223. IWbemPathKeyList * This,
  224. /* [in] */ ULONG uRequestedInfo,
  225. /* [out] */ ULONGLONG *puResponse);
  226. HRESULT ( STDMETHODCALLTYPE *GetText )(
  227. IWbemPathKeyList * This,
  228. /* [in] */ long lFlags,
  229. /* [out][in] */ ULONG *puBuffLength,
  230. /* [string][out][in] */ LPWSTR pszText);
  231. END_INTERFACE
  232. } IWbemPathKeyListVtbl;
  233. interface IWbemPathKeyList
  234. {
  235. CONST_VTBL struct IWbemPathKeyListVtbl *lpVtbl;
  236. };
  237. #ifdef COBJMACROS
  238. #define IWbemPathKeyList_QueryInterface(This,riid,ppvObject) \
  239. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  240. #define IWbemPathKeyList_AddRef(This) \
  241. (This)->lpVtbl -> AddRef(This)
  242. #define IWbemPathKeyList_Release(This) \
  243. (This)->lpVtbl -> Release(This)
  244. #define IWbemPathKeyList_GetCount(This,puKeyCount) \
  245. (This)->lpVtbl -> GetCount(This,puKeyCount)
  246. #define IWbemPathKeyList_SetKey(This,wszName,uFlags,uCimType,pKeyVal) \
  247. (This)->lpVtbl -> SetKey(This,wszName,uFlags,uCimType,pKeyVal)
  248. #define IWbemPathKeyList_SetKey2(This,wszName,uFlags,uCimType,pKeyVal) \
  249. (This)->lpVtbl -> SetKey2(This,wszName,uFlags,uCimType,pKeyVal)
  250. #define IWbemPathKeyList_GetKey(This,uKeyIx,uFlags,puNameBufSize,pszKeyName,puKeyValBufSize,pKeyVal,puApparentCimType) \
  251. (This)->lpVtbl -> GetKey(This,uKeyIx,uFlags,puNameBufSize,pszKeyName,puKeyValBufSize,pKeyVal,puApparentCimType)
  252. #define IWbemPathKeyList_GetKey2(This,uKeyIx,uFlags,puNameBufSize,pszKeyName,pKeyValue,puApparentCimType) \
  253. (This)->lpVtbl -> GetKey2(This,uKeyIx,uFlags,puNameBufSize,pszKeyName,pKeyValue,puApparentCimType)
  254. #define IWbemPathKeyList_RemoveKey(This,wszName,uFlags) \
  255. (This)->lpVtbl -> RemoveKey(This,wszName,uFlags)
  256. #define IWbemPathKeyList_RemoveAllKeys(This,uFlags) \
  257. (This)->lpVtbl -> RemoveAllKeys(This,uFlags)
  258. #define IWbemPathKeyList_MakeSingleton(This,bSet) \
  259. (This)->lpVtbl -> MakeSingleton(This,bSet)
  260. #define IWbemPathKeyList_GetInfo(This,uRequestedInfo,puResponse) \
  261. (This)->lpVtbl -> GetInfo(This,uRequestedInfo,puResponse)
  262. #define IWbemPathKeyList_GetText(This,lFlags,puBuffLength,pszText) \
  263. (This)->lpVtbl -> GetText(This,lFlags,puBuffLength,pszText)
  264. #endif /* COBJMACROS */
  265. #endif /* C style interface */
  266. HRESULT STDMETHODCALLTYPE IWbemPathKeyList_GetCount_Proxy(
  267. IWbemPathKeyList * This,
  268. /* [out] */ ULONG *puKeyCount);
  269. void __RPC_STUB IWbemPathKeyList_GetCount_Stub(
  270. IRpcStubBuffer *This,
  271. IRpcChannelBuffer *_pRpcChannelBuffer,
  272. PRPC_MESSAGE _pRpcMessage,
  273. DWORD *_pdwStubPhase);
  274. HRESULT STDMETHODCALLTYPE IWbemPathKeyList_SetKey_Proxy(
  275. IWbemPathKeyList * This,
  276. /* [string][in] */ LPCWSTR wszName,
  277. /* [in] */ ULONG uFlags,
  278. /* [in] */ ULONG uCimType,
  279. /* [in] */ LPVOID pKeyVal);
  280. void __RPC_STUB IWbemPathKeyList_SetKey_Stub(
  281. IRpcStubBuffer *This,
  282. IRpcChannelBuffer *_pRpcChannelBuffer,
  283. PRPC_MESSAGE _pRpcMessage,
  284. DWORD *_pdwStubPhase);
  285. HRESULT STDMETHODCALLTYPE IWbemPathKeyList_SetKey2_Proxy(
  286. IWbemPathKeyList * This,
  287. /* [string][in] */ LPCWSTR wszName,
  288. /* [in] */ ULONG uFlags,
  289. /* [in] */ ULONG uCimType,
  290. /* [in] */ VARIANT *pKeyVal);
  291. void __RPC_STUB IWbemPathKeyList_SetKey2_Stub(
  292. IRpcStubBuffer *This,
  293. IRpcChannelBuffer *_pRpcChannelBuffer,
  294. PRPC_MESSAGE _pRpcMessage,
  295. DWORD *_pdwStubPhase);
  296. HRESULT STDMETHODCALLTYPE IWbemPathKeyList_GetKey_Proxy(
  297. IWbemPathKeyList * This,
  298. /* [in] */ ULONG uKeyIx,
  299. /* [in] */ ULONG uFlags,
  300. /* [out][in] */ ULONG *puNameBufSize,
  301. /* [out][in] */ LPWSTR pszKeyName,
  302. /* [out][in] */ ULONG *puKeyValBufSize,
  303. /* [out][in] */ LPVOID pKeyVal,
  304. /* [out] */ ULONG *puApparentCimType);
  305. void __RPC_STUB IWbemPathKeyList_GetKey_Stub(
  306. IRpcStubBuffer *This,
  307. IRpcChannelBuffer *_pRpcChannelBuffer,
  308. PRPC_MESSAGE _pRpcMessage,
  309. DWORD *_pdwStubPhase);
  310. HRESULT STDMETHODCALLTYPE IWbemPathKeyList_GetKey2_Proxy(
  311. IWbemPathKeyList * This,
  312. /* [in] */ ULONG uKeyIx,
  313. /* [in] */ ULONG uFlags,
  314. /* [out][in] */ ULONG *puNameBufSize,
  315. /* [out][in] */ LPWSTR pszKeyName,
  316. /* [out][in] */ VARIANT *pKeyValue,
  317. /* [out] */ ULONG *puApparentCimType);
  318. void __RPC_STUB IWbemPathKeyList_GetKey2_Stub(
  319. IRpcStubBuffer *This,
  320. IRpcChannelBuffer *_pRpcChannelBuffer,
  321. PRPC_MESSAGE _pRpcMessage,
  322. DWORD *_pdwStubPhase);
  323. HRESULT STDMETHODCALLTYPE IWbemPathKeyList_RemoveKey_Proxy(
  324. IWbemPathKeyList * This,
  325. /* [string][in] */ LPCWSTR wszName,
  326. /* [in] */ ULONG uFlags);
  327. void __RPC_STUB IWbemPathKeyList_RemoveKey_Stub(
  328. IRpcStubBuffer *This,
  329. IRpcChannelBuffer *_pRpcChannelBuffer,
  330. PRPC_MESSAGE _pRpcMessage,
  331. DWORD *_pdwStubPhase);
  332. HRESULT STDMETHODCALLTYPE IWbemPathKeyList_RemoveAllKeys_Proxy(
  333. IWbemPathKeyList * This,
  334. /* [in] */ ULONG uFlags);
  335. void __RPC_STUB IWbemPathKeyList_RemoveAllKeys_Stub(
  336. IRpcStubBuffer *This,
  337. IRpcChannelBuffer *_pRpcChannelBuffer,
  338. PRPC_MESSAGE _pRpcMessage,
  339. DWORD *_pdwStubPhase);
  340. HRESULT STDMETHODCALLTYPE IWbemPathKeyList_MakeSingleton_Proxy(
  341. IWbemPathKeyList * This,
  342. /* [in] */ boolean bSet);
  343. void __RPC_STUB IWbemPathKeyList_MakeSingleton_Stub(
  344. IRpcStubBuffer *This,
  345. IRpcChannelBuffer *_pRpcChannelBuffer,
  346. PRPC_MESSAGE _pRpcMessage,
  347. DWORD *_pdwStubPhase);
  348. HRESULT STDMETHODCALLTYPE IWbemPathKeyList_GetInfo_Proxy(
  349. IWbemPathKeyList * This,
  350. /* [in] */ ULONG uRequestedInfo,
  351. /* [out] */ ULONGLONG *puResponse);
  352. void __RPC_STUB IWbemPathKeyList_GetInfo_Stub(
  353. IRpcStubBuffer *This,
  354. IRpcChannelBuffer *_pRpcChannelBuffer,
  355. PRPC_MESSAGE _pRpcMessage,
  356. DWORD *_pdwStubPhase);
  357. HRESULT STDMETHODCALLTYPE IWbemPathKeyList_GetText_Proxy(
  358. IWbemPathKeyList * This,
  359. /* [in] */ long lFlags,
  360. /* [out][in] */ ULONG *puBuffLength,
  361. /* [string][out][in] */ LPWSTR pszText);
  362. void __RPC_STUB IWbemPathKeyList_GetText_Stub(
  363. IRpcStubBuffer *This,
  364. IRpcChannelBuffer *_pRpcChannelBuffer,
  365. PRPC_MESSAGE _pRpcMessage,
  366. DWORD *_pdwStubPhase);
  367. #endif /* __IWbemPathKeyList_INTERFACE_DEFINED__ */
  368. #ifndef __IWbemPath_INTERFACE_DEFINED__
  369. #define __IWbemPath_INTERFACE_DEFINED__
  370. /* interface IWbemPath */
  371. /* [uuid][object][local] */
  372. EXTERN_C const IID IID_IWbemPath;
  373. #if defined(__cplusplus) && !defined(CINTERFACE)
  374. MIDL_INTERFACE("3BC15AF2-736C-477e-9E51-238AF8667DCC")
  375. IWbemPath : public IUnknown
  376. {
  377. public:
  378. virtual HRESULT STDMETHODCALLTYPE SetText(
  379. /* [in] */ ULONG uMode,
  380. /* [in] */ LPCWSTR pszPath) = 0;
  381. virtual HRESULT STDMETHODCALLTYPE GetText(
  382. /* [in] */ long lFlags,
  383. /* [out][in] */ ULONG *puBuffLength,
  384. /* [string][out][in] */ LPWSTR pszText) = 0;
  385. virtual HRESULT STDMETHODCALLTYPE GetInfo(
  386. /* [in] */ ULONG uRequestedInfo,
  387. /* [out] */ ULONGLONG *puResponse) = 0;
  388. virtual HRESULT STDMETHODCALLTYPE SetServer(
  389. /* [string][in] */ LPCWSTR Name) = 0;
  390. virtual HRESULT STDMETHODCALLTYPE GetServer(
  391. /* [out][in] */ ULONG *puNameBufLength,
  392. /* [string][out][in] */ LPWSTR pName) = 0;
  393. virtual HRESULT STDMETHODCALLTYPE GetNamespaceCount(
  394. /* [out] */ ULONG *puCount) = 0;
  395. virtual HRESULT STDMETHODCALLTYPE SetNamespaceAt(
  396. /* [in] */ ULONG uIndex,
  397. /* [string][in] */ LPCWSTR pszName) = 0;
  398. virtual HRESULT STDMETHODCALLTYPE GetNamespaceAt(
  399. /* [in] */ ULONG uIndex,
  400. /* [out][in] */ ULONG *puNameBufLength,
  401. /* [string][out][in] */ LPWSTR pName) = 0;
  402. virtual HRESULT STDMETHODCALLTYPE RemoveNamespaceAt(
  403. /* [in] */ ULONG uIndex) = 0;
  404. virtual HRESULT STDMETHODCALLTYPE RemoveAllNamespaces( void) = 0;
  405. virtual HRESULT STDMETHODCALLTYPE GetScopeCount(
  406. /* [out] */ ULONG *puCount) = 0;
  407. virtual HRESULT STDMETHODCALLTYPE SetScope(
  408. /* [in] */ ULONG uIndex,
  409. /* [in] */ LPWSTR pszClass) = 0;
  410. virtual HRESULT STDMETHODCALLTYPE SetScopeFromText(
  411. /* [in] */ ULONG uIndex,
  412. /* [in] */ LPWSTR pszText) = 0;
  413. virtual HRESULT STDMETHODCALLTYPE GetScope(
  414. /* [in] */ ULONG uIndex,
  415. /* [out][in] */ ULONG *puClassNameBufSize,
  416. /* [out][in] */ LPWSTR pszClass,
  417. /* [out] */ IWbemPathKeyList **pKeyList) = 0;
  418. virtual HRESULT STDMETHODCALLTYPE GetScopeAsText(
  419. /* [in] */ ULONG uIndex,
  420. /* [out][in] */ ULONG *puTextBufSize,
  421. /* [out][in] */ LPWSTR pszText) = 0;
  422. virtual HRESULT STDMETHODCALLTYPE RemoveScope(
  423. /* [in] */ ULONG uIndex) = 0;
  424. virtual HRESULT STDMETHODCALLTYPE RemoveAllScopes( void) = 0;
  425. virtual HRESULT STDMETHODCALLTYPE SetClassName(
  426. /* [string][in] */ LPCWSTR Name) = 0;
  427. virtual HRESULT STDMETHODCALLTYPE GetClassName(
  428. /* [out][in] */ ULONG *puBuffLength,
  429. /* [string][out][in] */ LPWSTR pszName) = 0;
  430. virtual HRESULT STDMETHODCALLTYPE GetKeyList(
  431. /* [out] */ IWbemPathKeyList **pOut) = 0;
  432. virtual HRESULT STDMETHODCALLTYPE CreateClassPart(
  433. /* [in] */ long lFlags,
  434. /* [string][in] */ LPCWSTR Name) = 0;
  435. virtual HRESULT STDMETHODCALLTYPE DeleteClassPart(
  436. /* [in] */ long lFlags) = 0;
  437. virtual BOOL STDMETHODCALLTYPE IsRelative(
  438. /* [string][in] */ LPWSTR wszMachine,
  439. /* [string][in] */ LPWSTR wszNamespace) = 0;
  440. virtual BOOL STDMETHODCALLTYPE IsRelativeOrChild(
  441. /* [string][in] */ LPWSTR wszMachine,
  442. /* [string][in] */ LPWSTR wszNamespace,
  443. /* [in] */ long lFlags) = 0;
  444. virtual BOOL STDMETHODCALLTYPE IsLocal(
  445. /* [string][in] */ LPCWSTR wszMachine) = 0;
  446. virtual BOOL STDMETHODCALLTYPE IsSameClassName(
  447. /* [string][in] */ LPCWSTR wszClass) = 0;
  448. };
  449. #else /* C style interface */
  450. typedef struct IWbemPathVtbl
  451. {
  452. BEGIN_INTERFACE
  453. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  454. IWbemPath * This,
  455. /* [in] */ REFIID riid,
  456. /* [iid_is][out] */ void **ppvObject);
  457. ULONG ( STDMETHODCALLTYPE *AddRef )(
  458. IWbemPath * This);
  459. ULONG ( STDMETHODCALLTYPE *Release )(
  460. IWbemPath * This);
  461. HRESULT ( STDMETHODCALLTYPE *SetText )(
  462. IWbemPath * This,
  463. /* [in] */ ULONG uMode,
  464. /* [in] */ LPCWSTR pszPath);
  465. HRESULT ( STDMETHODCALLTYPE *GetText )(
  466. IWbemPath * This,
  467. /* [in] */ long lFlags,
  468. /* [out][in] */ ULONG *puBuffLength,
  469. /* [string][out][in] */ LPWSTR pszText);
  470. HRESULT ( STDMETHODCALLTYPE *GetInfo )(
  471. IWbemPath * This,
  472. /* [in] */ ULONG uRequestedInfo,
  473. /* [out] */ ULONGLONG *puResponse);
  474. HRESULT ( STDMETHODCALLTYPE *SetServer )(
  475. IWbemPath * This,
  476. /* [string][in] */ LPCWSTR Name);
  477. HRESULT ( STDMETHODCALLTYPE *GetServer )(
  478. IWbemPath * This,
  479. /* [out][in] */ ULONG *puNameBufLength,
  480. /* [string][out][in] */ LPWSTR pName);
  481. HRESULT ( STDMETHODCALLTYPE *GetNamespaceCount )(
  482. IWbemPath * This,
  483. /* [out] */ ULONG *puCount);
  484. HRESULT ( STDMETHODCALLTYPE *SetNamespaceAt )(
  485. IWbemPath * This,
  486. /* [in] */ ULONG uIndex,
  487. /* [string][in] */ LPCWSTR pszName);
  488. HRESULT ( STDMETHODCALLTYPE *GetNamespaceAt )(
  489. IWbemPath * This,
  490. /* [in] */ ULONG uIndex,
  491. /* [out][in] */ ULONG *puNameBufLength,
  492. /* [string][out][in] */ LPWSTR pName);
  493. HRESULT ( STDMETHODCALLTYPE *RemoveNamespaceAt )(
  494. IWbemPath * This,
  495. /* [in] */ ULONG uIndex);
  496. HRESULT ( STDMETHODCALLTYPE *RemoveAllNamespaces )(
  497. IWbemPath * This);
  498. HRESULT ( STDMETHODCALLTYPE *GetScopeCount )(
  499. IWbemPath * This,
  500. /* [out] */ ULONG *puCount);
  501. HRESULT ( STDMETHODCALLTYPE *SetScope )(
  502. IWbemPath * This,
  503. /* [in] */ ULONG uIndex,
  504. /* [in] */ LPWSTR pszClass);
  505. HRESULT ( STDMETHODCALLTYPE *SetScopeFromText )(
  506. IWbemPath * This,
  507. /* [in] */ ULONG uIndex,
  508. /* [in] */ LPWSTR pszText);
  509. HRESULT ( STDMETHODCALLTYPE *GetScope )(
  510. IWbemPath * This,
  511. /* [in] */ ULONG uIndex,
  512. /* [out][in] */ ULONG *puClassNameBufSize,
  513. /* [out][in] */ LPWSTR pszClass,
  514. /* [out] */ IWbemPathKeyList **pKeyList);
  515. HRESULT ( STDMETHODCALLTYPE *GetScopeAsText )(
  516. IWbemPath * This,
  517. /* [in] */ ULONG uIndex,
  518. /* [out][in] */ ULONG *puTextBufSize,
  519. /* [out][in] */ LPWSTR pszText);
  520. HRESULT ( STDMETHODCALLTYPE *RemoveScope )(
  521. IWbemPath * This,
  522. /* [in] */ ULONG uIndex);
  523. HRESULT ( STDMETHODCALLTYPE *RemoveAllScopes )(
  524. IWbemPath * This);
  525. HRESULT ( STDMETHODCALLTYPE *SetClassName )(
  526. IWbemPath * This,
  527. /* [string][in] */ LPCWSTR Name);
  528. HRESULT ( STDMETHODCALLTYPE *GetClassName )(
  529. IWbemPath * This,
  530. /* [out][in] */ ULONG *puBuffLength,
  531. /* [string][out][in] */ LPWSTR pszName);
  532. HRESULT ( STDMETHODCALLTYPE *GetKeyList )(
  533. IWbemPath * This,
  534. /* [out] */ IWbemPathKeyList **pOut);
  535. HRESULT ( STDMETHODCALLTYPE *CreateClassPart )(
  536. IWbemPath * This,
  537. /* [in] */ long lFlags,
  538. /* [string][in] */ LPCWSTR Name);
  539. HRESULT ( STDMETHODCALLTYPE *DeleteClassPart )(
  540. IWbemPath * This,
  541. /* [in] */ long lFlags);
  542. BOOL ( STDMETHODCALLTYPE *IsRelative )(
  543. IWbemPath * This,
  544. /* [string][in] */ LPWSTR wszMachine,
  545. /* [string][in] */ LPWSTR wszNamespace);
  546. BOOL ( STDMETHODCALLTYPE *IsRelativeOrChild )(
  547. IWbemPath * This,
  548. /* [string][in] */ LPWSTR wszMachine,
  549. /* [string][in] */ LPWSTR wszNamespace,
  550. /* [in] */ long lFlags);
  551. BOOL ( STDMETHODCALLTYPE *IsLocal )(
  552. IWbemPath * This,
  553. /* [string][in] */ LPCWSTR wszMachine);
  554. BOOL ( STDMETHODCALLTYPE *IsSameClassName )(
  555. IWbemPath * This,
  556. /* [string][in] */ LPCWSTR wszClass);
  557. END_INTERFACE
  558. } IWbemPathVtbl;
  559. interface IWbemPath
  560. {
  561. CONST_VTBL struct IWbemPathVtbl *lpVtbl;
  562. };
  563. #ifdef COBJMACROS
  564. #define IWbemPath_QueryInterface(This,riid,ppvObject) \
  565. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  566. #define IWbemPath_AddRef(This) \
  567. (This)->lpVtbl -> AddRef(This)
  568. #define IWbemPath_Release(This) \
  569. (This)->lpVtbl -> Release(This)
  570. #define IWbemPath_SetText(This,uMode,pszPath) \
  571. (This)->lpVtbl -> SetText(This,uMode,pszPath)
  572. #define IWbemPath_GetText(This,lFlags,puBuffLength,pszText) \
  573. (This)->lpVtbl -> GetText(This,lFlags,puBuffLength,pszText)
  574. #define IWbemPath_GetInfo(This,uRequestedInfo,puResponse) \
  575. (This)->lpVtbl -> GetInfo(This,uRequestedInfo,puResponse)
  576. #define IWbemPath_SetServer(This,Name) \
  577. (This)->lpVtbl -> SetServer(This,Name)
  578. #define IWbemPath_GetServer(This,puNameBufLength,pName) \
  579. (This)->lpVtbl -> GetServer(This,puNameBufLength,pName)
  580. #define IWbemPath_GetNamespaceCount(This,puCount) \
  581. (This)->lpVtbl -> GetNamespaceCount(This,puCount)
  582. #define IWbemPath_SetNamespaceAt(This,uIndex,pszName) \
  583. (This)->lpVtbl -> SetNamespaceAt(This,uIndex,pszName)
  584. #define IWbemPath_GetNamespaceAt(This,uIndex,puNameBufLength,pName) \
  585. (This)->lpVtbl -> GetNamespaceAt(This,uIndex,puNameBufLength,pName)
  586. #define IWbemPath_RemoveNamespaceAt(This,uIndex) \
  587. (This)->lpVtbl -> RemoveNamespaceAt(This,uIndex)
  588. #define IWbemPath_RemoveAllNamespaces(This) \
  589. (This)->lpVtbl -> RemoveAllNamespaces(This)
  590. #define IWbemPath_GetScopeCount(This,puCount) \
  591. (This)->lpVtbl -> GetScopeCount(This,puCount)
  592. #define IWbemPath_SetScope(This,uIndex,pszClass) \
  593. (This)->lpVtbl -> SetScope(This,uIndex,pszClass)
  594. #define IWbemPath_SetScopeFromText(This,uIndex,pszText) \
  595. (This)->lpVtbl -> SetScopeFromText(This,uIndex,pszText)
  596. #define IWbemPath_GetScope(This,uIndex,puClassNameBufSize,pszClass,pKeyList) \
  597. (This)->lpVtbl -> GetScope(This,uIndex,puClassNameBufSize,pszClass,pKeyList)
  598. #define IWbemPath_GetScopeAsText(This,uIndex,puTextBufSize,pszText) \
  599. (This)->lpVtbl -> GetScopeAsText(This,uIndex,puTextBufSize,pszText)
  600. #define IWbemPath_RemoveScope(This,uIndex) \
  601. (This)->lpVtbl -> RemoveScope(This,uIndex)
  602. #define IWbemPath_RemoveAllScopes(This) \
  603. (This)->lpVtbl -> RemoveAllScopes(This)
  604. #define IWbemPath_SetClassName(This,Name) \
  605. (This)->lpVtbl -> SetClassName(This,Name)
  606. #define IWbemPath_GetClassName(This,puBuffLength,pszName) \
  607. (This)->lpVtbl -> GetClassName(This,puBuffLength,pszName)
  608. #define IWbemPath_GetKeyList(This,pOut) \
  609. (This)->lpVtbl -> GetKeyList(This,pOut)
  610. #define IWbemPath_CreateClassPart(This,lFlags,Name) \
  611. (This)->lpVtbl -> CreateClassPart(This,lFlags,Name)
  612. #define IWbemPath_DeleteClassPart(This,lFlags) \
  613. (This)->lpVtbl -> DeleteClassPart(This,lFlags)
  614. #define IWbemPath_IsRelative(This,wszMachine,wszNamespace) \
  615. (This)->lpVtbl -> IsRelative(This,wszMachine,wszNamespace)
  616. #define IWbemPath_IsRelativeOrChild(This,wszMachine,wszNamespace,lFlags) \
  617. (This)->lpVtbl -> IsRelativeOrChild(This,wszMachine,wszNamespace,lFlags)
  618. #define IWbemPath_IsLocal(This,wszMachine) \
  619. (This)->lpVtbl -> IsLocal(This,wszMachine)
  620. #define IWbemPath_IsSameClassName(This,wszClass) \
  621. (This)->lpVtbl -> IsSameClassName(This,wszClass)
  622. #endif /* COBJMACROS */
  623. #endif /* C style interface */
  624. HRESULT STDMETHODCALLTYPE IWbemPath_SetText_Proxy(
  625. IWbemPath * This,
  626. /* [in] */ ULONG uMode,
  627. /* [in] */ LPCWSTR pszPath);
  628. void __RPC_STUB IWbemPath_SetText_Stub(
  629. IRpcStubBuffer *This,
  630. IRpcChannelBuffer *_pRpcChannelBuffer,
  631. PRPC_MESSAGE _pRpcMessage,
  632. DWORD *_pdwStubPhase);
  633. HRESULT STDMETHODCALLTYPE IWbemPath_GetText_Proxy(
  634. IWbemPath * This,
  635. /* [in] */ long lFlags,
  636. /* [out][in] */ ULONG *puBuffLength,
  637. /* [string][out][in] */ LPWSTR pszText);
  638. void __RPC_STUB IWbemPath_GetText_Stub(
  639. IRpcStubBuffer *This,
  640. IRpcChannelBuffer *_pRpcChannelBuffer,
  641. PRPC_MESSAGE _pRpcMessage,
  642. DWORD *_pdwStubPhase);
  643. HRESULT STDMETHODCALLTYPE IWbemPath_GetInfo_Proxy(
  644. IWbemPath * This,
  645. /* [in] */ ULONG uRequestedInfo,
  646. /* [out] */ ULONGLONG *puResponse);
  647. void __RPC_STUB IWbemPath_GetInfo_Stub(
  648. IRpcStubBuffer *This,
  649. IRpcChannelBuffer *_pRpcChannelBuffer,
  650. PRPC_MESSAGE _pRpcMessage,
  651. DWORD *_pdwStubPhase);
  652. HRESULT STDMETHODCALLTYPE IWbemPath_SetServer_Proxy(
  653. IWbemPath * This,
  654. /* [string][in] */ LPCWSTR Name);
  655. void __RPC_STUB IWbemPath_SetServer_Stub(
  656. IRpcStubBuffer *This,
  657. IRpcChannelBuffer *_pRpcChannelBuffer,
  658. PRPC_MESSAGE _pRpcMessage,
  659. DWORD *_pdwStubPhase);
  660. HRESULT STDMETHODCALLTYPE IWbemPath_GetServer_Proxy(
  661. IWbemPath * This,
  662. /* [out][in] */ ULONG *puNameBufLength,
  663. /* [string][out][in] */ LPWSTR pName);
  664. void __RPC_STUB IWbemPath_GetServer_Stub(
  665. IRpcStubBuffer *This,
  666. IRpcChannelBuffer *_pRpcChannelBuffer,
  667. PRPC_MESSAGE _pRpcMessage,
  668. DWORD *_pdwStubPhase);
  669. HRESULT STDMETHODCALLTYPE IWbemPath_GetNamespaceCount_Proxy(
  670. IWbemPath * This,
  671. /* [out] */ ULONG *puCount);
  672. void __RPC_STUB IWbemPath_GetNamespaceCount_Stub(
  673. IRpcStubBuffer *This,
  674. IRpcChannelBuffer *_pRpcChannelBuffer,
  675. PRPC_MESSAGE _pRpcMessage,
  676. DWORD *_pdwStubPhase);
  677. HRESULT STDMETHODCALLTYPE IWbemPath_SetNamespaceAt_Proxy(
  678. IWbemPath * This,
  679. /* [in] */ ULONG uIndex,
  680. /* [string][in] */ LPCWSTR pszName);
  681. void __RPC_STUB IWbemPath_SetNamespaceAt_Stub(
  682. IRpcStubBuffer *This,
  683. IRpcChannelBuffer *_pRpcChannelBuffer,
  684. PRPC_MESSAGE _pRpcMessage,
  685. DWORD *_pdwStubPhase);
  686. HRESULT STDMETHODCALLTYPE IWbemPath_GetNamespaceAt_Proxy(
  687. IWbemPath * This,
  688. /* [in] */ ULONG uIndex,
  689. /* [out][in] */ ULONG *puNameBufLength,
  690. /* [string][out][in] */ LPWSTR pName);
  691. void __RPC_STUB IWbemPath_GetNamespaceAt_Stub(
  692. IRpcStubBuffer *This,
  693. IRpcChannelBuffer *_pRpcChannelBuffer,
  694. PRPC_MESSAGE _pRpcMessage,
  695. DWORD *_pdwStubPhase);
  696. HRESULT STDMETHODCALLTYPE IWbemPath_RemoveNamespaceAt_Proxy(
  697. IWbemPath * This,
  698. /* [in] */ ULONG uIndex);
  699. void __RPC_STUB IWbemPath_RemoveNamespaceAt_Stub(
  700. IRpcStubBuffer *This,
  701. IRpcChannelBuffer *_pRpcChannelBuffer,
  702. PRPC_MESSAGE _pRpcMessage,
  703. DWORD *_pdwStubPhase);
  704. HRESULT STDMETHODCALLTYPE IWbemPath_RemoveAllNamespaces_Proxy(
  705. IWbemPath * This);
  706. void __RPC_STUB IWbemPath_RemoveAllNamespaces_Stub(
  707. IRpcStubBuffer *This,
  708. IRpcChannelBuffer *_pRpcChannelBuffer,
  709. PRPC_MESSAGE _pRpcMessage,
  710. DWORD *_pdwStubPhase);
  711. HRESULT STDMETHODCALLTYPE IWbemPath_GetScopeCount_Proxy(
  712. IWbemPath * This,
  713. /* [out] */ ULONG *puCount);
  714. void __RPC_STUB IWbemPath_GetScopeCount_Stub(
  715. IRpcStubBuffer *This,
  716. IRpcChannelBuffer *_pRpcChannelBuffer,
  717. PRPC_MESSAGE _pRpcMessage,
  718. DWORD *_pdwStubPhase);
  719. HRESULT STDMETHODCALLTYPE IWbemPath_SetScope_Proxy(
  720. IWbemPath * This,
  721. /* [in] */ ULONG uIndex,
  722. /* [in] */ LPWSTR pszClass);
  723. void __RPC_STUB IWbemPath_SetScope_Stub(
  724. IRpcStubBuffer *This,
  725. IRpcChannelBuffer *_pRpcChannelBuffer,
  726. PRPC_MESSAGE _pRpcMessage,
  727. DWORD *_pdwStubPhase);
  728. HRESULT STDMETHODCALLTYPE IWbemPath_SetScopeFromText_Proxy(
  729. IWbemPath * This,
  730. /* [in] */ ULONG uIndex,
  731. /* [in] */ LPWSTR pszText);
  732. void __RPC_STUB IWbemPath_SetScopeFromText_Stub(
  733. IRpcStubBuffer *This,
  734. IRpcChannelBuffer *_pRpcChannelBuffer,
  735. PRPC_MESSAGE _pRpcMessage,
  736. DWORD *_pdwStubPhase);
  737. HRESULT STDMETHODCALLTYPE IWbemPath_GetScope_Proxy(
  738. IWbemPath * This,
  739. /* [in] */ ULONG uIndex,
  740. /* [out][in] */ ULONG *puClassNameBufSize,
  741. /* [out][in] */ LPWSTR pszClass,
  742. /* [out] */ IWbemPathKeyList **pKeyList);
  743. void __RPC_STUB IWbemPath_GetScope_Stub(
  744. IRpcStubBuffer *This,
  745. IRpcChannelBuffer *_pRpcChannelBuffer,
  746. PRPC_MESSAGE _pRpcMessage,
  747. DWORD *_pdwStubPhase);
  748. HRESULT STDMETHODCALLTYPE IWbemPath_GetScopeAsText_Proxy(
  749. IWbemPath * This,
  750. /* [in] */ ULONG uIndex,
  751. /* [out][in] */ ULONG *puTextBufSize,
  752. /* [out][in] */ LPWSTR pszText);
  753. void __RPC_STUB IWbemPath_GetScopeAsText_Stub(
  754. IRpcStubBuffer *This,
  755. IRpcChannelBuffer *_pRpcChannelBuffer,
  756. PRPC_MESSAGE _pRpcMessage,
  757. DWORD *_pdwStubPhase);
  758. HRESULT STDMETHODCALLTYPE IWbemPath_RemoveScope_Proxy(
  759. IWbemPath * This,
  760. /* [in] */ ULONG uIndex);
  761. void __RPC_STUB IWbemPath_RemoveScope_Stub(
  762. IRpcStubBuffer *This,
  763. IRpcChannelBuffer *_pRpcChannelBuffer,
  764. PRPC_MESSAGE _pRpcMessage,
  765. DWORD *_pdwStubPhase);
  766. HRESULT STDMETHODCALLTYPE IWbemPath_RemoveAllScopes_Proxy(
  767. IWbemPath * This);
  768. void __RPC_STUB IWbemPath_RemoveAllScopes_Stub(
  769. IRpcStubBuffer *This,
  770. IRpcChannelBuffer *_pRpcChannelBuffer,
  771. PRPC_MESSAGE _pRpcMessage,
  772. DWORD *_pdwStubPhase);
  773. HRESULT STDMETHODCALLTYPE IWbemPath_SetClassName_Proxy(
  774. IWbemPath * This,
  775. /* [string][in] */ LPCWSTR Name);
  776. void __RPC_STUB IWbemPath_SetClassName_Stub(
  777. IRpcStubBuffer *This,
  778. IRpcChannelBuffer *_pRpcChannelBuffer,
  779. PRPC_MESSAGE _pRpcMessage,
  780. DWORD *_pdwStubPhase);
  781. HRESULT STDMETHODCALLTYPE IWbemPath_GetClassName_Proxy(
  782. IWbemPath * This,
  783. /* [out][in] */ ULONG *puBuffLength,
  784. /* [string][out][in] */ LPWSTR pszName);
  785. void __RPC_STUB IWbemPath_GetClassName_Stub(
  786. IRpcStubBuffer *This,
  787. IRpcChannelBuffer *_pRpcChannelBuffer,
  788. PRPC_MESSAGE _pRpcMessage,
  789. DWORD *_pdwStubPhase);
  790. HRESULT STDMETHODCALLTYPE IWbemPath_GetKeyList_Proxy(
  791. IWbemPath * This,
  792. /* [out] */ IWbemPathKeyList **pOut);
  793. void __RPC_STUB IWbemPath_GetKeyList_Stub(
  794. IRpcStubBuffer *This,
  795. IRpcChannelBuffer *_pRpcChannelBuffer,
  796. PRPC_MESSAGE _pRpcMessage,
  797. DWORD *_pdwStubPhase);
  798. HRESULT STDMETHODCALLTYPE IWbemPath_CreateClassPart_Proxy(
  799. IWbemPath * This,
  800. /* [in] */ long lFlags,
  801. /* [string][in] */ LPCWSTR Name);
  802. void __RPC_STUB IWbemPath_CreateClassPart_Stub(
  803. IRpcStubBuffer *This,
  804. IRpcChannelBuffer *_pRpcChannelBuffer,
  805. PRPC_MESSAGE _pRpcMessage,
  806. DWORD *_pdwStubPhase);
  807. HRESULT STDMETHODCALLTYPE IWbemPath_DeleteClassPart_Proxy(
  808. IWbemPath * This,
  809. /* [in] */ long lFlags);
  810. void __RPC_STUB IWbemPath_DeleteClassPart_Stub(
  811. IRpcStubBuffer *This,
  812. IRpcChannelBuffer *_pRpcChannelBuffer,
  813. PRPC_MESSAGE _pRpcMessage,
  814. DWORD *_pdwStubPhase);
  815. BOOL STDMETHODCALLTYPE IWbemPath_IsRelative_Proxy(
  816. IWbemPath * This,
  817. /* [string][in] */ LPWSTR wszMachine,
  818. /* [string][in] */ LPWSTR wszNamespace);
  819. void __RPC_STUB IWbemPath_IsRelative_Stub(
  820. IRpcStubBuffer *This,
  821. IRpcChannelBuffer *_pRpcChannelBuffer,
  822. PRPC_MESSAGE _pRpcMessage,
  823. DWORD *_pdwStubPhase);
  824. BOOL STDMETHODCALLTYPE IWbemPath_IsRelativeOrChild_Proxy(
  825. IWbemPath * This,
  826. /* [string][in] */ LPWSTR wszMachine,
  827. /* [string][in] */ LPWSTR wszNamespace,
  828. /* [in] */ long lFlags);
  829. void __RPC_STUB IWbemPath_IsRelativeOrChild_Stub(
  830. IRpcStubBuffer *This,
  831. IRpcChannelBuffer *_pRpcChannelBuffer,
  832. PRPC_MESSAGE _pRpcMessage,
  833. DWORD *_pdwStubPhase);
  834. BOOL STDMETHODCALLTYPE IWbemPath_IsLocal_Proxy(
  835. IWbemPath * This,
  836. /* [string][in] */ LPCWSTR wszMachine);
  837. void __RPC_STUB IWbemPath_IsLocal_Stub(
  838. IRpcStubBuffer *This,
  839. IRpcChannelBuffer *_pRpcChannelBuffer,
  840. PRPC_MESSAGE _pRpcMessage,
  841. DWORD *_pdwStubPhase);
  842. BOOL STDMETHODCALLTYPE IWbemPath_IsSameClassName_Proxy(
  843. IWbemPath * This,
  844. /* [string][in] */ LPCWSTR wszClass);
  845. void __RPC_STUB IWbemPath_IsSameClassName_Stub(
  846. IRpcStubBuffer *This,
  847. IRpcChannelBuffer *_pRpcChannelBuffer,
  848. PRPC_MESSAGE _pRpcMessage,
  849. DWORD *_pdwStubPhase);
  850. #endif /* __IWbemPath_INTERFACE_DEFINED__ */
  851. EXTERN_C const CLSID CLSID_WbemDefPath;
  852. #ifdef __cplusplus
  853. class DECLSPEC_UUID("cf4cc405-e2c5-4ddd-b3ce-5e7582d8c9fa")
  854. WbemDefPath;
  855. #endif
  856. #ifndef __IWbemQuery_INTERFACE_DEFINED__
  857. #define __IWbemQuery_INTERFACE_DEFINED__
  858. /* interface IWbemQuery */
  859. /* [uuid][object][local] */
  860. EXTERN_C const IID IID_IWbemQuery;
  861. #if defined(__cplusplus) && !defined(CINTERFACE)
  862. MIDL_INTERFACE("81166f58-dd98-11d3-a120-00105a1f515a")
  863. IWbemQuery : public IUnknown
  864. {
  865. public:
  866. virtual HRESULT STDMETHODCALLTYPE Empty( void) = 0;
  867. virtual HRESULT STDMETHODCALLTYPE SetLanguageFeatures(
  868. /* [in] */ ULONG uFlags,
  869. /* [in] */ ULONG uArraySize,
  870. /* [in] */ ULONG *puFeatures) = 0;
  871. virtual HRESULT STDMETHODCALLTYPE TestLanguageFeatures(
  872. /* [in] */ ULONG uFlags,
  873. /* [out][in] */ ULONG *uArraySize,
  874. /* [out] */ ULONG *puFeatures) = 0;
  875. virtual HRESULT STDMETHODCALLTYPE Parse(
  876. /* [in] */ LPCWSTR pszLang,
  877. /* [in] */ LPCWSTR pszQuery,
  878. /* [in] */ ULONG uFlags) = 0;
  879. virtual HRESULT STDMETHODCALLTYPE GetAnalysis(
  880. /* [in] */ ULONG uAnalysisType,
  881. /* [in] */ ULONG uFlags,
  882. /* [out] */ LPVOID *pAnalysis) = 0;
  883. virtual HRESULT STDMETHODCALLTYPE FreeMemory(
  884. /* [in] */ LPVOID pMem) = 0;
  885. virtual HRESULT STDMETHODCALLTYPE GetQueryInfo(
  886. /* [in] */ ULONG uAnalysisType,
  887. /* [in] */ ULONG uInfoId,
  888. /* [in] */ ULONG uBufSize,
  889. /* [out] */ LPVOID pDestBuf) = 0;
  890. };
  891. #else /* C style interface */
  892. typedef struct IWbemQueryVtbl
  893. {
  894. BEGIN_INTERFACE
  895. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  896. IWbemQuery * This,
  897. /* [in] */ REFIID riid,
  898. /* [iid_is][out] */ void **ppvObject);
  899. ULONG ( STDMETHODCALLTYPE *AddRef )(
  900. IWbemQuery * This);
  901. ULONG ( STDMETHODCALLTYPE *Release )(
  902. IWbemQuery * This);
  903. HRESULT ( STDMETHODCALLTYPE *Empty )(
  904. IWbemQuery * This);
  905. HRESULT ( STDMETHODCALLTYPE *SetLanguageFeatures )(
  906. IWbemQuery * This,
  907. /* [in] */ ULONG uFlags,
  908. /* [in] */ ULONG uArraySize,
  909. /* [in] */ ULONG *puFeatures);
  910. HRESULT ( STDMETHODCALLTYPE *TestLanguageFeatures )(
  911. IWbemQuery * This,
  912. /* [in] */ ULONG uFlags,
  913. /* [out][in] */ ULONG *uArraySize,
  914. /* [out] */ ULONG *puFeatures);
  915. HRESULT ( STDMETHODCALLTYPE *Parse )(
  916. IWbemQuery * This,
  917. /* [in] */ LPCWSTR pszLang,
  918. /* [in] */ LPCWSTR pszQuery,
  919. /* [in] */ ULONG uFlags);
  920. HRESULT ( STDMETHODCALLTYPE *GetAnalysis )(
  921. IWbemQuery * This,
  922. /* [in] */ ULONG uAnalysisType,
  923. /* [in] */ ULONG uFlags,
  924. /* [out] */ LPVOID *pAnalysis);
  925. HRESULT ( STDMETHODCALLTYPE *FreeMemory )(
  926. IWbemQuery * This,
  927. /* [in] */ LPVOID pMem);
  928. HRESULT ( STDMETHODCALLTYPE *GetQueryInfo )(
  929. IWbemQuery * This,
  930. /* [in] */ ULONG uAnalysisType,
  931. /* [in] */ ULONG uInfoId,
  932. /* [in] */ ULONG uBufSize,
  933. /* [out] */ LPVOID pDestBuf);
  934. END_INTERFACE
  935. } IWbemQueryVtbl;
  936. interface IWbemQuery
  937. {
  938. CONST_VTBL struct IWbemQueryVtbl *lpVtbl;
  939. };
  940. #ifdef COBJMACROS
  941. #define IWbemQuery_QueryInterface(This,riid,ppvObject) \
  942. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  943. #define IWbemQuery_AddRef(This) \
  944. (This)->lpVtbl -> AddRef(This)
  945. #define IWbemQuery_Release(This) \
  946. (This)->lpVtbl -> Release(This)
  947. #define IWbemQuery_Empty(This) \
  948. (This)->lpVtbl -> Empty(This)
  949. #define IWbemQuery_SetLanguageFeatures(This,uFlags,uArraySize,puFeatures) \
  950. (This)->lpVtbl -> SetLanguageFeatures(This,uFlags,uArraySize,puFeatures)
  951. #define IWbemQuery_TestLanguageFeatures(This,uFlags,uArraySize,puFeatures) \
  952. (This)->lpVtbl -> TestLanguageFeatures(This,uFlags,uArraySize,puFeatures)
  953. #define IWbemQuery_Parse(This,pszLang,pszQuery,uFlags) \
  954. (This)->lpVtbl -> Parse(This,pszLang,pszQuery,uFlags)
  955. #define IWbemQuery_GetAnalysis(This,uAnalysisType,uFlags,pAnalysis) \
  956. (This)->lpVtbl -> GetAnalysis(This,uAnalysisType,uFlags,pAnalysis)
  957. #define IWbemQuery_FreeMemory(This,pMem) \
  958. (This)->lpVtbl -> FreeMemory(This,pMem)
  959. #define IWbemQuery_GetQueryInfo(This,uAnalysisType,uInfoId,uBufSize,pDestBuf) \
  960. (This)->lpVtbl -> GetQueryInfo(This,uAnalysisType,uInfoId,uBufSize,pDestBuf)
  961. #endif /* COBJMACROS */
  962. #endif /* C style interface */
  963. HRESULT STDMETHODCALLTYPE IWbemQuery_Empty_Proxy(
  964. IWbemQuery * This);
  965. void __RPC_STUB IWbemQuery_Empty_Stub(
  966. IRpcStubBuffer *This,
  967. IRpcChannelBuffer *_pRpcChannelBuffer,
  968. PRPC_MESSAGE _pRpcMessage,
  969. DWORD *_pdwStubPhase);
  970. HRESULT STDMETHODCALLTYPE IWbemQuery_SetLanguageFeatures_Proxy(
  971. IWbemQuery * This,
  972. /* [in] */ ULONG uFlags,
  973. /* [in] */ ULONG uArraySize,
  974. /* [in] */ ULONG *puFeatures);
  975. void __RPC_STUB IWbemQuery_SetLanguageFeatures_Stub(
  976. IRpcStubBuffer *This,
  977. IRpcChannelBuffer *_pRpcChannelBuffer,
  978. PRPC_MESSAGE _pRpcMessage,
  979. DWORD *_pdwStubPhase);
  980. HRESULT STDMETHODCALLTYPE IWbemQuery_TestLanguageFeatures_Proxy(
  981. IWbemQuery * This,
  982. /* [in] */ ULONG uFlags,
  983. /* [out][in] */ ULONG *uArraySize,
  984. /* [out] */ ULONG *puFeatures);
  985. void __RPC_STUB IWbemQuery_TestLanguageFeatures_Stub(
  986. IRpcStubBuffer *This,
  987. IRpcChannelBuffer *_pRpcChannelBuffer,
  988. PRPC_MESSAGE _pRpcMessage,
  989. DWORD *_pdwStubPhase);
  990. HRESULT STDMETHODCALLTYPE IWbemQuery_Parse_Proxy(
  991. IWbemQuery * This,
  992. /* [in] */ LPCWSTR pszLang,
  993. /* [in] */ LPCWSTR pszQuery,
  994. /* [in] */ ULONG uFlags);
  995. void __RPC_STUB IWbemQuery_Parse_Stub(
  996. IRpcStubBuffer *This,
  997. IRpcChannelBuffer *_pRpcChannelBuffer,
  998. PRPC_MESSAGE _pRpcMessage,
  999. DWORD *_pdwStubPhase);
  1000. HRESULT STDMETHODCALLTYPE IWbemQuery_GetAnalysis_Proxy(
  1001. IWbemQuery * This,
  1002. /* [in] */ ULONG uAnalysisType,
  1003. /* [in] */ ULONG uFlags,
  1004. /* [out] */ LPVOID *pAnalysis);
  1005. void __RPC_STUB IWbemQuery_GetAnalysis_Stub(
  1006. IRpcStubBuffer *This,
  1007. IRpcChannelBuffer *_pRpcChannelBuffer,
  1008. PRPC_MESSAGE _pRpcMessage,
  1009. DWORD *_pdwStubPhase);
  1010. HRESULT STDMETHODCALLTYPE IWbemQuery_FreeMemory_Proxy(
  1011. IWbemQuery * This,
  1012. /* [in] */ LPVOID pMem);
  1013. void __RPC_STUB IWbemQuery_FreeMemory_Stub(
  1014. IRpcStubBuffer *This,
  1015. IRpcChannelBuffer *_pRpcChannelBuffer,
  1016. PRPC_MESSAGE _pRpcMessage,
  1017. DWORD *_pdwStubPhase);
  1018. HRESULT STDMETHODCALLTYPE IWbemQuery_GetQueryInfo_Proxy(
  1019. IWbemQuery * This,
  1020. /* [in] */ ULONG uAnalysisType,
  1021. /* [in] */ ULONG uInfoId,
  1022. /* [in] */ ULONG uBufSize,
  1023. /* [out] */ LPVOID pDestBuf);
  1024. void __RPC_STUB IWbemQuery_GetQueryInfo_Stub(
  1025. IRpcStubBuffer *This,
  1026. IRpcChannelBuffer *_pRpcChannelBuffer,
  1027. PRPC_MESSAGE _pRpcMessage,
  1028. DWORD *_pdwStubPhase);
  1029. #endif /* __IWbemQuery_INTERFACE_DEFINED__ */
  1030. EXTERN_C const CLSID CLSID_WbemQuery;
  1031. #ifdef __cplusplus
  1032. class DECLSPEC_UUID("EAC8A024-21E2-4523-AD73-A71A0AA2F56A")
  1033. WbemQuery;
  1034. #endif
  1035. #endif /* __WbemUtilities_v1_LIBRARY_DEFINED__ */
  1036. /* interface __MIDL_itf_wmiutils_0112 */
  1037. /* [local] */
  1038. typedef /* [public] */
  1039. enum __MIDL___MIDL_itf_wmiutils_0112_0001
  1040. { WMIQ_ANALYSIS_RPN_SEQUENCE = 0x1,
  1041. WMIQ_ANALYSIS_ASSOC_QUERY = 0x2,
  1042. WMIQ_ANALYSIS_PROP_ANALYSIS_MATRIX = 0x3,
  1043. WMIQ_ANALYSIS_QUERY_TEXT = 0x4,
  1044. WMIQ_ANALYSIS_RESERVED = 0x8000000
  1045. } WMIQ_ANALYSIS_TYPE;
  1046. typedef /* [public] */
  1047. enum __MIDL___MIDL_itf_wmiutils_0112_0002
  1048. { WMIQ_RPN_TOKEN_EXPRESSION = 1,
  1049. WMIQ_RPN_TOKEN_AND = 2,
  1050. WMIQ_RPN_TOKEN_OR = 3,
  1051. WMIQ_RPN_TOKEN_NOT = 4,
  1052. WMIQ_RPN_OP_UNDEFINED = 0,
  1053. WMIQ_RPN_OP_EQ = 1,
  1054. WMIQ_RPN_OP_NE = 2,
  1055. WMIQ_RPN_OP_GE = 3,
  1056. WMIQ_RPN_OP_LE = 4,
  1057. WMIQ_RPN_OP_LT = 5,
  1058. WMIQ_RPN_OP_GT = 6,
  1059. WMIQ_RPN_OP_LIKE = 7,
  1060. WMIQ_RPN_OP_ISA = 8,
  1061. WMIQ_RPN_OP_ISNOTA = 9,
  1062. WMIQ_RPN_LEFT_PROPERTY_NAME = 0x1,
  1063. WMIQ_RPN_RIGHT_PROPERTY_NAME = 0x2,
  1064. WMIQ_RPN_CONST2 = 0x4,
  1065. WMIQ_RPN_CONST = 0x8,
  1066. WMIQ_RPN_RELOP = 0x10,
  1067. WMIQ_RPN_LEFT_FUNCTION = 0x20,
  1068. WMIQ_RPN_RIGHT_FUNCTION = 0x40,
  1069. WMIQ_RPN_GET_TOKEN_TYPE = 1,
  1070. WMIQ_RPN_GET_EXPR_SHAPE = 2,
  1071. WMIQ_RPN_GET_LEFT_FUNCTION = 3,
  1072. WMIQ_RPN_GET_RIGHT_FUNCTION = 4,
  1073. WMIQ_RPN_GET_RELOP = 5,
  1074. WMIQ_RPN_NEXT_TOKEN = 1,
  1075. WMIQ_RPN_FROM_UNARY = 0x1,
  1076. WMIQ_RPN_FROM_PATH = 0x2,
  1077. WMIQ_RPN_FROM_CLASS_LIST = 0x4
  1078. } WMIQ_RPN_TOKEN_FLAGS;
  1079. typedef /* [public] */
  1080. enum __MIDL___MIDL_itf_wmiutils_0112_0003
  1081. { WMIQ_ASSOCQ_ASSOCIATORS = 0x1,
  1082. WMIQ_ASSOCQ_REFERENCES = 0x2,
  1083. WMIQ_ASSOCQ_RESULTCLASS = 0x4,
  1084. WMIQ_ASSOCQ_ASSOCCLASS = 0x8,
  1085. WMIQ_ASSOCQ_ROLE = 0x10,
  1086. WMIQ_ASSOCQ_RESULTROLE = 0x20,
  1087. WMIQ_ASSOCQ_REQUIREDQUALIFIER = 0x40,
  1088. WMIQ_ASSOCQ_REQUIREDASSOCQUALIFIER = 0x80,
  1089. WMIQ_ASSOCQ_CLASSDEFSONLY = 0x100,
  1090. WMIQ_ASSOCQ_KEYSONLY = 0x200,
  1091. WMIQ_ASSOCQ_SCHEMAONLY = 0x400,
  1092. WMIQ_ASSOCQ_CLASSREFSONLY = 0x800
  1093. } WMIQ_ASSOCQ_FLAGS;
  1094. typedef struct tag_SWbemQueryQualifiedName
  1095. {
  1096. ULONG m_uVersion;
  1097. ULONG m_uTokenType;
  1098. ULONG m_uNameListSize;
  1099. LPCWSTR *m_ppszNameList;
  1100. BOOL m_bArraysUsed;
  1101. BOOL *m_pbArrayElUsed;
  1102. ULONG *m_puArrayIndex;
  1103. } SWbemQueryQualifiedName;
  1104. typedef union tag_SWbemRpnConst
  1105. {
  1106. LPCWSTR m_pszStrVal;
  1107. BOOL m_bBoolVal;
  1108. LONG m_lLongVal;
  1109. ULONG m_uLongVal;
  1110. double m_dblVal;
  1111. __int64 m_lVal64;
  1112. __int64 m_uVal64;
  1113. } SWbemRpnConst;
  1114. typedef struct tag_SWbemRpnQueryToken
  1115. {
  1116. ULONG m_uVersion;
  1117. ULONG m_uTokenType;
  1118. ULONG m_uSubexpressionShape;
  1119. ULONG m_uOperator;
  1120. SWbemQueryQualifiedName *m_pRightIdent;
  1121. SWbemQueryQualifiedName *m_pLeftIdent;
  1122. ULONG m_uConstApparentType;
  1123. SWbemRpnConst m_Const;
  1124. ULONG m_uConst2ApparentType;
  1125. SWbemRpnConst m_Const2;
  1126. LPCWSTR m_pszRightFunc;
  1127. LPCWSTR m_pszLeftFunc;
  1128. } SWbemRpnQueryToken;
  1129. typedef struct tag_SWbemRpnTokenList
  1130. {
  1131. ULONG m_uVersion;
  1132. ULONG m_uTokenType;
  1133. ULONG m_uNumTokens;
  1134. } SWbemRpnTokenList;
  1135. typedef
  1136. enum tag_WMIQ_LANGUAGE_FEATURES
  1137. { WMIQ_LF1_BASIC_SELECT = 1,
  1138. WMIQ_LF2_CLASS_NAME_IN_QUERY = 2,
  1139. WMIQ_LF3_STRING_CASE_FUNCTIONS = 3,
  1140. WMIQ_LF4_PROP_TO_PROP_TESTS = 4,
  1141. WMIQ_LF5_COUNT_STAR = 5,
  1142. WMIQ_LF6_ORDER_BY = 6,
  1143. WMIQ_LF7_DISTINCT = 7,
  1144. WMIQ_LF8_ISA = 8,
  1145. WMIQ_LF9_THIS = 9,
  1146. WMIQ_LF10_COMPEX_SUBEXPRESSIONS = 10,
  1147. WMIQ_LF11_ALIASING = 11,
  1148. WMIQ_LF12_GROUP_BY_HAVING = 12,
  1149. WMIQ_LF13_WMI_WITHIN = 13,
  1150. WMIQ_LF14_SQL_WRITE_OPERATIONS = 14,
  1151. WMIQ_LF15_GO = 15,
  1152. WMIQ_LF16_SINGLE_LEVEL_TRANSACTIONS = 16,
  1153. WMIQ_LF17_QUALIFIED_NAMES = 17,
  1154. WMIQ_LF18_ASSOCIATONS = 18,
  1155. WMIQ_LF19_SYSTEM_PROPERTIES = 19,
  1156. WMIQ_LF20_EXTENDED_SYSTEM_PROPERTIES = 20,
  1157. WMIQ_LF21_SQL89_JOINS = 21,
  1158. WMIQ_LF22_SQL92_JOINS = 22,
  1159. WMIQ_LF23_SUBSELECTS = 23,
  1160. WMIQ_LF24_UMI_EXTENSIONS = 24,
  1161. WMIQ_LF25_DATEPART = 25,
  1162. WMIQ_LF26_LIKE = 26,
  1163. WMIQ_LF27_CIM_TEMPORAL_CONSTRUCTS = 27,
  1164. WMIQ_LF28_STANDARD_AGGREGATES = 28,
  1165. WMIQ_LF29_MULTI_LEVEL_ORDER_BY = 29,
  1166. WMIQ_LF30_WMI_PRAGMAS = 30,
  1167. WMIQ_LF31_QUALIFIER_TESTS = 31,
  1168. WMIQ_LF32_SP_EXECUTE = 32,
  1169. WMIQ_LF33_ARRAY_ACCESS = 33,
  1170. WMIQ_LF34_UNION = 34,
  1171. WMIQ_LF35_COMPLEX_SELECT_TARGET = 35,
  1172. WMIQ_LF36_REFERENCE_TESTS = 36,
  1173. WMIQ_LF37_SELECT_INTO = 37,
  1174. WMIQ_LF38_BASIC_DATETIME_TESTS = 38,
  1175. WMIQ_LF39_COUNT_COLUMN = 39,
  1176. WMIQ_LF40_BETWEEN = 40,
  1177. WMIQ_LF_LAST = 40
  1178. } WMIQ_LANGUAGE_FEATURES;
  1179. typedef
  1180. enum tag_WMIQ_RPNQ_FEATURE
  1181. { WMIQ_RPNF_WHERE_CLAUSE_PRESENT = 0x1,
  1182. WMIQ_RPNF_QUERY_IS_CONJUNCTIVE = 0x2,
  1183. WMIQ_RPNF_QUERY_IS_DISJUNCTIVE = 0x4,
  1184. WMIQ_RPNF_PROJECTION = 0x8,
  1185. WMIQ_RPNF_FEATURE_SELECT_STAR = 0x10,
  1186. WMIQ_RPNF_EQUALITY_TESTS_ONLY = 0x20,
  1187. WMIQ_RPNF_COUNT_STAR = 0x40,
  1188. WMIQ_RPNF_QUALIFIED_NAMES_USED = 0x80,
  1189. WMIQ_RPNF_SYSPROP_CLASS_USED = 0x100,
  1190. WMIQ_RPNF_PROP_TO_PROP_TESTS = 0x200,
  1191. WMIQ_RPNF_ORDER_BY = 0x400,
  1192. WMIQ_RPNF_ISA_USED = 0x800,
  1193. WMIQ_RPNF_GROUP_BY_HAVING = 0x1000,
  1194. WMIQ_RPNF_ARRAY_ACCESS_USED = 0x2000
  1195. } WMIQ_RPNF_FEATURE;
  1196. typedef struct tag_SWbemRpnEncodedQuery
  1197. {
  1198. ULONG m_uVersion;
  1199. ULONG m_uTokenType;
  1200. unsigned __int64 m_uParsedFeatureMask;
  1201. ULONG m_uDetectedArraySize;
  1202. ULONG *m_puDetectedFeatures;
  1203. ULONG m_uSelectListSize;
  1204. SWbemQueryQualifiedName **m_ppSelectList;
  1205. ULONG m_uFromTargetType;
  1206. LPCWSTR m_pszOptionalFromPath;
  1207. ULONG m_uFromListSize;
  1208. LPCWSTR *m_ppszFromList;
  1209. ULONG m_uWhereClauseSize;
  1210. SWbemRpnQueryToken **m_ppRpnWhereClause;
  1211. double m_dblWithinPolling;
  1212. double m_dblWithinWindow;
  1213. ULONG m_uOrderByListSize;
  1214. LPCWSTR *m_ppszOrderByList;
  1215. ULONG *m_uOrderDirectionEl;
  1216. } SWbemRpnEncodedQuery;
  1217. typedef struct tag_SWbemAnalysisMatrix
  1218. {
  1219. ULONG m_uVersion;
  1220. ULONG m_uMatrixType;
  1221. LPCWSTR m_pszProperty;
  1222. ULONG m_uPropertyType;
  1223. ULONG m_uEntries;
  1224. LPVOID *m_pValues;
  1225. BOOL *m_pbTruthTable;
  1226. } SWbemAnalysisMatrix;
  1227. typedef struct tag_SWbemAnalysisMatrixList
  1228. {
  1229. ULONG m_uVersion;
  1230. ULONG m_uMatrixType;
  1231. ULONG m_uNumMatrices;
  1232. SWbemAnalysisMatrix *m_pMatrices;
  1233. } SWbemAnalysisMatrixList;
  1234. typedef struct tag_SWbemAssocQueryInf
  1235. {
  1236. ULONG m_uVersion;
  1237. ULONG m_uAnalysisType;
  1238. ULONG m_uFeatureMask;
  1239. IWbemPath *m_pPath;
  1240. LPWSTR m_pszPath;
  1241. LPWSTR m_pszQueryText;
  1242. LPWSTR m_pszResultClass;
  1243. LPWSTR m_pszAssocClass;
  1244. LPWSTR m_pszRole;
  1245. LPWSTR m_pszResultRole;
  1246. LPWSTR m_pszRequiredQualifier;
  1247. LPWSTR m_pszRequiredAssocQualifier;
  1248. } SWbemAssocQueryInf;
  1249. extern RPC_IF_HANDLE __MIDL_itf_wmiutils_0112_v0_0_c_ifspec;
  1250. extern RPC_IF_HANDLE __MIDL_itf_wmiutils_0112_v0_0_s_ifspec;
  1251. /* Additional Prototypes for ALL interfaces */
  1252. /* end of Additional Prototypes */
  1253. #ifdef __cplusplus
  1254. }
  1255. #endif
  1256. #endif