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

模拟服务器

开发平台:

C/C++

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