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.

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