Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1729 lines
51 KiB

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