1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 7 #define __REQUIRED_RPCNDR_H_VERSION__ 475 8 #endif 9 10 #include "rpc.h" 11 #include "rpcndr.h" 12 13 #ifndef __RPCNDR_H_VERSION__ 14 #error This stub requires an updated version of <rpcndr.h> 15 #endif 16 17 #ifndef COM_NO_WINDOWS_H 18 #include "windows.h" 19 #include "ole2.h" 20 #endif 21 22 #ifndef __wmiutils_h__ 23 #define __wmiutils_h__ 24 25 #ifndef __IWbemPathKeyList_FWD_DEFINED__ 26 #define __IWbemPathKeyList_FWD_DEFINED__ 27 typedef struct IWbemPathKeyList IWbemPathKeyList; 28 #endif 29 30 #ifndef __IWbemPath_FWD_DEFINED__ 31 #define __IWbemPath_FWD_DEFINED__ 32 typedef struct IWbemPath IWbemPath; 33 #endif 34 35 #ifndef __WbemDefPath_FWD_DEFINED__ 36 #define __WbemDefPath_FWD_DEFINED__ 37 38 #ifdef __cplusplus 39 typedef class WbemDefPath WbemDefPath; 40 #else 41 typedef struct WbemDefPath WbemDefPath; 42 #endif 43 #endif 44 45 #ifndef __IWbemQuery_FWD_DEFINED__ 46 #define __IWbemQuery_FWD_DEFINED__ 47 typedef struct IWbemQuery IWbemQuery; 48 #endif 49 50 #ifndef __WbemQuery_FWD_DEFINED__ 51 #define __WbemQuery_FWD_DEFINED__ 52 #ifdef __cplusplus 53 typedef class WbemQuery WbemQuery; 54 #else 55 typedef struct WbemQuery WbemQuery; 56 #endif 57 #endif 58 59 #ifndef __IWbemQuery_FWD_DEFINED__ 60 #define __IWbemQuery_FWD_DEFINED__ 61 typedef struct IWbemQuery IWbemQuery; 62 #endif 63 64 #ifdef __cplusplus 65 extern "C" { 66 #endif 67 68 #ifndef __MIDL_user_allocate_free_DEFINED__ 69 #define __MIDL_user_allocate_free_DEFINED__ 70 void *__RPC_API MIDL_user_allocate(size_t); 71 void __RPC_API MIDL_user_free(void *); 72 #endif 73 74 extern RPC_IF_HANDLE __MIDL_itf_wmiutils_0000_v0_0_c_ifspec; 75 extern RPC_IF_HANDLE __MIDL_itf_wmiutils_0000_v0_0_s_ifspec; 76 77 #ifndef __WbemUtilities_v1_LIBRARY_DEFINED__ 78 #define __WbemUtilities_v1_LIBRARY_DEFINED__ 79 80 typedef enum tag_WBEM_PATH_STATUS_FLAG { 81 WBEMPATH_INFO_ANON_LOCAL_MACHINE = 0x1,WBEMPATH_INFO_HAS_MACHINE_NAME = 0x2,WBEMPATH_INFO_IS_CLASS_REF = 0x4,WBEMPATH_INFO_IS_INST_REF = 0x8, 82 WBEMPATH_INFO_HAS_SUBSCOPES = 0x10,WBEMPATH_INFO_IS_COMPOUND = 0x20,WBEMPATH_INFO_HAS_V2_REF_PATHS = 0x40,WBEMPATH_INFO_HAS_IMPLIED_KEY = 0x80, 83 WBEMPATH_INFO_CONTAINS_SINGLETON = 0x100,WBEMPATH_INFO_V1_COMPLIANT = 0x200,WBEMPATH_INFO_V2_COMPLIANT = 0x400,WBEMPATH_INFO_CIM_COMPLIANT = 0x800, 84 WBEMPATH_INFO_IS_SINGLETON = 0x1000,WBEMPATH_INFO_IS_PARENT = 0x2000,WBEMPATH_INFO_SERVER_NAMESPACE_ONLY = 0x4000,WBEMPATH_INFO_NATIVE_PATH = 0x8000, 85 WBEMPATH_INFO_WMI_PATH = 0x10000,WBEMPATH_INFO_PATH_HAD_SERVER = 0x20000 86 } tag_WBEM_PATH_STATUS_FLAG; 87 88 typedef enum tag_WBEM_PATH_CREATE_FLAG { 89 WBEMPATH_CREATE_ACCEPT_RELATIVE = 0x1,WBEMPATH_CREATE_ACCEPT_ABSOLUTE = 0x2,WBEMPATH_CREATE_ACCEPT_ALL = 0x4,WBEMPATH_TREAT_SINGLE_IDENT_AS_NS = 0x8 90 } tag_WBEM_PATH_CREATE_FLAG; 91 92 typedef enum tag_WBEM_GET_TEXT_FLAGS { 93 WBEMPATH_COMPRESSED = 0x1,WBEMPATH_GET_RELATIVE_ONLY = 0x2,WBEMPATH_GET_SERVER_TOO = 0x4,WBEMPATH_GET_SERVER_AND_NAMESPACE_ONLY = 0x8, 94 WBEMPATH_GET_NAMESPACE_ONLY = 0x10,WBEMPATH_GET_ORIGINAL = 0x20 95 } tag_WBEM_GET_TEXT_FLAGS; 96 97 typedef enum tag_WBEM_GET_KEY_FLAGS { 98 WBEMPATH_TEXT = 0x1,WBEMPATH_QUOTEDTEXT = 0x2 99 } tag_WBEM_GET_KEY_FLAGS; 100 101 EXTERN_C const IID LIBID_WbemUtilities_v1; 102 #ifndef __IWbemPathKeyList_INTERFACE_DEFINED__ 103 #define __IWbemPathKeyList_INTERFACE_DEFINED__ 104 EXTERN_C const IID IID_IWbemPathKeyList; 105 #if defined(__cplusplus) && !defined(CINTERFACE) 106 struct IWbemPathKeyList : public IUnknown { 107 public: 108 virtual HRESULT WINAPI GetCount(ULONG *puKeyCount) = 0; 109 virtual HRESULT WINAPI SetKey(LPCWSTR wszName,ULONG uFlags,ULONG uCimType,LPVOID pKeyVal) = 0; 110 virtual HRESULT WINAPI SetKey2(LPCWSTR wszName,ULONG uFlags,ULONG uCimType,VARIANT *pKeyVal) = 0; 111 virtual HRESULT WINAPI GetKey(ULONG uKeyIx,ULONG uFlags,ULONG *puNameBufSize,LPWSTR pszKeyName,ULONG *puKeyValBufSize,LPVOID pKeyVal,ULONG *puApparentCimType) = 0; 112 virtual HRESULT WINAPI GetKey2(ULONG uKeyIx,ULONG uFlags,ULONG *puNameBufSize,LPWSTR pszKeyName,VARIANT *pKeyValue,ULONG *puApparentCimType) = 0; 113 virtual HRESULT WINAPI RemoveKey(LPCWSTR wszName,ULONG uFlags) = 0; 114 virtual HRESULT WINAPI RemoveAllKeys(ULONG uFlags) = 0; 115 virtual HRESULT WINAPI MakeSingleton(boolean bSet) = 0; 116 virtual HRESULT WINAPI GetInfo(ULONG uRequestedInfo,ULONGLONG *puResponse) = 0; 117 virtual HRESULT WINAPI GetText(__LONG32 lFlags,ULONG *puBuffLength,LPWSTR pszText) = 0; 118 }; 119 #else 120 typedef struct IWbemPathKeyListVtbl { 121 BEGIN_INTERFACE 122 HRESULT (WINAPI *QueryInterface)(IWbemPathKeyList *This,REFIID riid,void **ppvObject); 123 ULONG (WINAPI *AddRef)(IWbemPathKeyList *This); 124 ULONG (WINAPI *Release)(IWbemPathKeyList *This); 125 HRESULT (WINAPI *GetCount)(IWbemPathKeyList *This,ULONG *puKeyCount); 126 HRESULT (WINAPI *SetKey)(IWbemPathKeyList *This,LPCWSTR wszName,ULONG uFlags,ULONG uCimType,LPVOID pKeyVal); 127 HRESULT (WINAPI *SetKey2)(IWbemPathKeyList *This,LPCWSTR wszName,ULONG uFlags,ULONG uCimType,VARIANT *pKeyVal); 128 HRESULT (WINAPI *GetKey)(IWbemPathKeyList *This,ULONG uKeyIx,ULONG uFlags,ULONG *puNameBufSize,LPWSTR pszKeyName,ULONG *puKeyValBufSize,LPVOID pKeyVal,ULONG *puApparentCimType); 129 HRESULT (WINAPI *GetKey2)(IWbemPathKeyList *This,ULONG uKeyIx,ULONG uFlags,ULONG *puNameBufSize,LPWSTR pszKeyName,VARIANT *pKeyValue,ULONG *puApparentCimType); 130 HRESULT (WINAPI *RemoveKey)(IWbemPathKeyList *This,LPCWSTR wszName,ULONG uFlags); 131 HRESULT (WINAPI *RemoveAllKeys)(IWbemPathKeyList *This,ULONG uFlags); 132 HRESULT (WINAPI *MakeSingleton)(IWbemPathKeyList *This,boolean bSet); 133 HRESULT (WINAPI *GetInfo)(IWbemPathKeyList *This,ULONG uRequestedInfo,ULONGLONG *puResponse); 134 HRESULT (WINAPI *GetText)(IWbemPathKeyList *This,__LONG32 lFlags,ULONG *puBuffLength,LPWSTR pszText); 135 END_INTERFACE 136 } IWbemPathKeyListVtbl; 137 struct IWbemPathKeyList { 138 CONST_VTBL struct IWbemPathKeyListVtbl *lpVtbl; 139 }; 140 #ifdef COBJMACROS 141 #define IWbemPathKeyList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 142 #define IWbemPathKeyList_AddRef(This) (This)->lpVtbl->AddRef(This) 143 #define IWbemPathKeyList_Release(This) (This)->lpVtbl->Release(This) 144 #define IWbemPathKeyList_GetCount(This,puKeyCount) (This)->lpVtbl->GetCount(This,puKeyCount) 145 #define IWbemPathKeyList_SetKey(This,wszName,uFlags,uCimType,pKeyVal) (This)->lpVtbl->SetKey(This,wszName,uFlags,uCimType,pKeyVal) 146 #define IWbemPathKeyList_SetKey2(This,wszName,uFlags,uCimType,pKeyVal) (This)->lpVtbl->SetKey2(This,wszName,uFlags,uCimType,pKeyVal) 147 #define IWbemPathKeyList_GetKey(This,uKeyIx,uFlags,puNameBufSize,pszKeyName,puKeyValBufSize,pKeyVal,puApparentCimType) (This)->lpVtbl->GetKey(This,uKeyIx,uFlags,puNameBufSize,pszKeyName,puKeyValBufSize,pKeyVal,puApparentCimType) 148 #define IWbemPathKeyList_GetKey2(This,uKeyIx,uFlags,puNameBufSize,pszKeyName,pKeyValue,puApparentCimType) (This)->lpVtbl->GetKey2(This,uKeyIx,uFlags,puNameBufSize,pszKeyName,pKeyValue,puApparentCimType) 149 #define IWbemPathKeyList_RemoveKey(This,wszName,uFlags) (This)->lpVtbl->RemoveKey(This,wszName,uFlags) 150 #define IWbemPathKeyList_RemoveAllKeys(This,uFlags) (This)->lpVtbl->RemoveAllKeys(This,uFlags) 151 #define IWbemPathKeyList_MakeSingleton(This,bSet) (This)->lpVtbl->MakeSingleton(This,bSet) 152 #define IWbemPathKeyList_GetInfo(This,uRequestedInfo,puResponse) (This)->lpVtbl->GetInfo(This,uRequestedInfo,puResponse) 153 #define IWbemPathKeyList_GetText(This,lFlags,puBuffLength,pszText) (This)->lpVtbl->GetText(This,lFlags,puBuffLength,pszText) 154 #endif 155 #endif 156 HRESULT WINAPI IWbemPathKeyList_GetCount_Proxy(IWbemPathKeyList *This,ULONG *puKeyCount); 157 void __RPC_STUB IWbemPathKeyList_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 158 HRESULT WINAPI IWbemPathKeyList_SetKey_Proxy(IWbemPathKeyList *This,LPCWSTR wszName,ULONG uFlags,ULONG uCimType,LPVOID pKeyVal); 159 void __RPC_STUB IWbemPathKeyList_SetKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 160 HRESULT WINAPI IWbemPathKeyList_SetKey2_Proxy(IWbemPathKeyList *This,LPCWSTR wszName,ULONG uFlags,ULONG uCimType,VARIANT *pKeyVal); 161 void __RPC_STUB IWbemPathKeyList_SetKey2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 162 HRESULT WINAPI IWbemPathKeyList_GetKey_Proxy(IWbemPathKeyList *This,ULONG uKeyIx,ULONG uFlags,ULONG *puNameBufSize,LPWSTR pszKeyName,ULONG *puKeyValBufSize,LPVOID pKeyVal,ULONG *puApparentCimType); 163 void __RPC_STUB IWbemPathKeyList_GetKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 164 HRESULT WINAPI IWbemPathKeyList_GetKey2_Proxy(IWbemPathKeyList *This,ULONG uKeyIx,ULONG uFlags,ULONG *puNameBufSize,LPWSTR pszKeyName,VARIANT *pKeyValue,ULONG *puApparentCimType); 165 void __RPC_STUB IWbemPathKeyList_GetKey2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 166 HRESULT WINAPI IWbemPathKeyList_RemoveKey_Proxy(IWbemPathKeyList *This,LPCWSTR wszName,ULONG uFlags); 167 void __RPC_STUB IWbemPathKeyList_RemoveKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 168 HRESULT WINAPI IWbemPathKeyList_RemoveAllKeys_Proxy(IWbemPathKeyList *This,ULONG uFlags); 169 void __RPC_STUB IWbemPathKeyList_RemoveAllKeys_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 170 HRESULT WINAPI IWbemPathKeyList_MakeSingleton_Proxy(IWbemPathKeyList *This,boolean bSet); 171 void __RPC_STUB IWbemPathKeyList_MakeSingleton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 172 HRESULT WINAPI IWbemPathKeyList_GetInfo_Proxy(IWbemPathKeyList *This,ULONG uRequestedInfo,ULONGLONG *puResponse); 173 void __RPC_STUB IWbemPathKeyList_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 174 HRESULT WINAPI IWbemPathKeyList_GetText_Proxy(IWbemPathKeyList *This,__LONG32 lFlags,ULONG *puBuffLength,LPWSTR pszText); 175 void __RPC_STUB IWbemPathKeyList_GetText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 176 #endif 177 178 #ifndef __IWbemPath_INTERFACE_DEFINED__ 179 #define __IWbemPath_INTERFACE_DEFINED__ 180 EXTERN_C const IID IID_IWbemPath; 181 #if defined(__cplusplus) && !defined(CINTERFACE) 182 struct IWbemPath : public IUnknown { 183 public: 184 virtual HRESULT WINAPI SetText(ULONG uMode,LPCWSTR pszPath) = 0; 185 virtual HRESULT WINAPI GetText(__LONG32 lFlags,ULONG *puBuffLength,LPWSTR pszText) = 0; 186 virtual HRESULT WINAPI GetInfo(ULONG uRequestedInfo,ULONGLONG *puResponse) = 0; 187 virtual HRESULT WINAPI SetServer(LPCWSTR Name) = 0; 188 virtual HRESULT WINAPI GetServer(ULONG *puNameBufLength,LPWSTR pName) = 0; 189 virtual HRESULT WINAPI GetNamespaceCount(ULONG *puCount) = 0; 190 virtual HRESULT WINAPI SetNamespaceAt(ULONG uIndex,LPCWSTR pszName) = 0; 191 virtual HRESULT WINAPI GetNamespaceAt(ULONG uIndex,ULONG *puNameBufLength,LPWSTR pName) = 0; 192 virtual HRESULT WINAPI RemoveNamespaceAt(ULONG uIndex) = 0; 193 virtual HRESULT WINAPI RemoveAllNamespaces(void) = 0; 194 virtual HRESULT WINAPI GetScopeCount(ULONG *puCount) = 0; 195 virtual HRESULT WINAPI SetScope(ULONG uIndex,LPWSTR pszClass) = 0; 196 virtual HRESULT WINAPI SetScopeFromText(ULONG uIndex,LPWSTR pszText) = 0; 197 virtual HRESULT WINAPI GetScope(ULONG uIndex,ULONG *puClassNameBufSize,LPWSTR pszClass,IWbemPathKeyList **pKeyList) = 0; 198 virtual HRESULT WINAPI GetScopeAsText(ULONG uIndex,ULONG *puTextBufSize,LPWSTR pszText) = 0; 199 virtual HRESULT WINAPI RemoveScope(ULONG uIndex) = 0; 200 virtual HRESULT WINAPI RemoveAllScopes(void) = 0; 201 virtual HRESULT WINAPI SetClassName(LPCWSTR Name) = 0; 202 virtual HRESULT WINAPI GetClassName(ULONG *puBuffLength,LPWSTR pszName) = 0; 203 virtual HRESULT WINAPI GetKeyList(IWbemPathKeyList **pOut) = 0; 204 virtual HRESULT WINAPI CreateClassPart(__LONG32 lFlags,LPCWSTR Name) = 0; 205 virtual HRESULT WINAPI DeleteClassPart(__LONG32 lFlags) = 0; 206 virtual WINBOOL WINAPI IsRelative(LPWSTR wszMachine,LPWSTR wszNamespace) = 0; 207 virtual WINBOOL WINAPI IsRelativeOrChild(LPWSTR wszMachine,LPWSTR wszNamespace,__LONG32 lFlags) = 0; 208 virtual WINBOOL WINAPI IsLocal(LPCWSTR wszMachine) = 0; 209 virtual WINBOOL WINAPI IsSameClassName(LPCWSTR wszClass) = 0; 210 }; 211 #else 212 typedef struct IWbemPathVtbl { 213 BEGIN_INTERFACE 214 HRESULT (WINAPI *QueryInterface)(IWbemPath *This,REFIID riid,void **ppvObject); 215 ULONG (WINAPI *AddRef)(IWbemPath *This); 216 ULONG (WINAPI *Release)(IWbemPath *This); 217 HRESULT (WINAPI *SetText)(IWbemPath *This,ULONG uMode,LPCWSTR pszPath); 218 HRESULT (WINAPI *GetText)(IWbemPath *This,__LONG32 lFlags,ULONG *puBuffLength,LPWSTR pszText); 219 HRESULT (WINAPI *GetInfo)(IWbemPath *This,ULONG uRequestedInfo,ULONGLONG *puResponse); 220 HRESULT (WINAPI *SetServer)(IWbemPath *This,LPCWSTR Name); 221 HRESULT (WINAPI *GetServer)(IWbemPath *This,ULONG *puNameBufLength,LPWSTR pName); 222 HRESULT (WINAPI *GetNamespaceCount)(IWbemPath *This,ULONG *puCount); 223 HRESULT (WINAPI *SetNamespaceAt)(IWbemPath *This,ULONG uIndex,LPCWSTR pszName); 224 HRESULT (WINAPI *GetNamespaceAt)(IWbemPath *This,ULONG uIndex,ULONG *puNameBufLength,LPWSTR pName); 225 HRESULT (WINAPI *RemoveNamespaceAt)(IWbemPath *This,ULONG uIndex); 226 HRESULT (WINAPI *RemoveAllNamespaces)(IWbemPath *This); 227 HRESULT (WINAPI *GetScopeCount)(IWbemPath *This,ULONG *puCount); 228 HRESULT (WINAPI *SetScope)(IWbemPath *This,ULONG uIndex,LPWSTR pszClass); 229 HRESULT (WINAPI *SetScopeFromText)(IWbemPath *This,ULONG uIndex,LPWSTR pszText); 230 HRESULT (WINAPI *GetScope)(IWbemPath *This,ULONG uIndex,ULONG *puClassNameBufSize,LPWSTR pszClass,IWbemPathKeyList **pKeyList); 231 HRESULT (WINAPI *GetScopeAsText)(IWbemPath *This,ULONG uIndex,ULONG *puTextBufSize,LPWSTR pszText); 232 HRESULT (WINAPI *RemoveScope)(IWbemPath *This,ULONG uIndex); 233 HRESULT (WINAPI *RemoveAllScopes)(IWbemPath *This); 234 HRESULT (WINAPI *SetClassName)(IWbemPath *This,LPCWSTR Name); 235 HRESULT (WINAPI *GetClassName)(IWbemPath *This,ULONG *puBuffLength,LPWSTR pszName); 236 HRESULT (WINAPI *GetKeyList)(IWbemPath *This,IWbemPathKeyList **pOut); 237 HRESULT (WINAPI *CreateClassPart)(IWbemPath *This,__LONG32 lFlags,LPCWSTR Name); 238 HRESULT (WINAPI *DeleteClassPart)(IWbemPath *This,__LONG32 lFlags); 239 WINBOOL (WINAPI *IsRelative)(IWbemPath *This,LPWSTR wszMachine,LPWSTR wszNamespace); 240 WINBOOL (WINAPI *IsRelativeOrChild)(IWbemPath *This,LPWSTR wszMachine,LPWSTR wszNamespace,__LONG32 lFlags); 241 WINBOOL (WINAPI *IsLocal)(IWbemPath *This,LPCWSTR wszMachine); 242 WINBOOL (WINAPI *IsSameClassName)(IWbemPath *This,LPCWSTR wszClass); 243 END_INTERFACE 244 } IWbemPathVtbl; 245 struct IWbemPath { 246 CONST_VTBL struct IWbemPathVtbl *lpVtbl; 247 }; 248 #ifdef COBJMACROS 249 #define IWbemPath_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 250 #define IWbemPath_AddRef(This) (This)->lpVtbl->AddRef(This) 251 #define IWbemPath_Release(This) (This)->lpVtbl->Release(This) 252 #define IWbemPath_SetText(This,uMode,pszPath) (This)->lpVtbl->SetText(This,uMode,pszPath) 253 #define IWbemPath_GetText(This,lFlags,puBuffLength,pszText) (This)->lpVtbl->GetText(This,lFlags,puBuffLength,pszText) 254 #define IWbemPath_GetInfo(This,uRequestedInfo,puResponse) (This)->lpVtbl->GetInfo(This,uRequestedInfo,puResponse) 255 #define IWbemPath_SetServer(This,Name) (This)->lpVtbl->SetServer(This,Name) 256 #define IWbemPath_GetServer(This,puNameBufLength,pName) (This)->lpVtbl->GetServer(This,puNameBufLength,pName) 257 #define IWbemPath_GetNamespaceCount(This,puCount) (This)->lpVtbl->GetNamespaceCount(This,puCount) 258 #define IWbemPath_SetNamespaceAt(This,uIndex,pszName) (This)->lpVtbl->SetNamespaceAt(This,uIndex,pszName) 259 #define IWbemPath_GetNamespaceAt(This,uIndex,puNameBufLength,pName) (This)->lpVtbl->GetNamespaceAt(This,uIndex,puNameBufLength,pName) 260 #define IWbemPath_RemoveNamespaceAt(This,uIndex) (This)->lpVtbl->RemoveNamespaceAt(This,uIndex) 261 #define IWbemPath_RemoveAllNamespaces(This) (This)->lpVtbl->RemoveAllNamespaces(This) 262 #define IWbemPath_GetScopeCount(This,puCount) (This)->lpVtbl->GetScopeCount(This,puCount) 263 #define IWbemPath_SetScope(This,uIndex,pszClass) (This)->lpVtbl->SetScope(This,uIndex,pszClass) 264 #define IWbemPath_SetScopeFromText(This,uIndex,pszText) (This)->lpVtbl->SetScopeFromText(This,uIndex,pszText) 265 #define IWbemPath_GetScope(This,uIndex,puClassNameBufSize,pszClass,pKeyList) (This)->lpVtbl->GetScope(This,uIndex,puClassNameBufSize,pszClass,pKeyList) 266 #define IWbemPath_GetScopeAsText(This,uIndex,puTextBufSize,pszText) (This)->lpVtbl->GetScopeAsText(This,uIndex,puTextBufSize,pszText) 267 #define IWbemPath_RemoveScope(This,uIndex) (This)->lpVtbl->RemoveScope(This,uIndex) 268 #define IWbemPath_RemoveAllScopes(This) (This)->lpVtbl->RemoveAllScopes(This) 269 #define IWbemPath_SetClassName(This,Name) (This)->lpVtbl->SetClassName(This,Name) 270 #define IWbemPath_GetClassName(This,puBuffLength,pszName) (This)->lpVtbl->GetClassName(This,puBuffLength,pszName) 271 #define IWbemPath_GetKeyList(This,pOut) (This)->lpVtbl->GetKeyList(This,pOut) 272 #define IWbemPath_CreateClassPart(This,lFlags,Name) (This)->lpVtbl->CreateClassPart(This,lFlags,Name) 273 #define IWbemPath_DeleteClassPart(This,lFlags) (This)->lpVtbl->DeleteClassPart(This,lFlags) 274 #define IWbemPath_IsRelative(This,wszMachine,wszNamespace) (This)->lpVtbl->IsRelative(This,wszMachine,wszNamespace) 275 #define IWbemPath_IsRelativeOrChild(This,wszMachine,wszNamespace,lFlags) (This)->lpVtbl->IsRelativeOrChild(This,wszMachine,wszNamespace,lFlags) 276 #define IWbemPath_IsLocal(This,wszMachine) (This)->lpVtbl->IsLocal(This,wszMachine) 277 #define IWbemPath_IsSameClassName(This,wszClass) (This)->lpVtbl->IsSameClassName(This,wszClass) 278 #endif 279 #endif 280 HRESULT WINAPI IWbemPath_SetText_Proxy(IWbemPath *This,ULONG uMode,LPCWSTR pszPath); 281 void __RPC_STUB IWbemPath_SetText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 282 HRESULT WINAPI IWbemPath_GetText_Proxy(IWbemPath *This,__LONG32 lFlags,ULONG *puBuffLength,LPWSTR pszText); 283 void __RPC_STUB IWbemPath_GetText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 284 HRESULT WINAPI IWbemPath_GetInfo_Proxy(IWbemPath *This,ULONG uRequestedInfo,ULONGLONG *puResponse); 285 void __RPC_STUB IWbemPath_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 286 HRESULT WINAPI IWbemPath_SetServer_Proxy(IWbemPath *This,LPCWSTR Name); 287 void __RPC_STUB IWbemPath_SetServer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 288 HRESULT WINAPI IWbemPath_GetServer_Proxy(IWbemPath *This,ULONG *puNameBufLength,LPWSTR pName); 289 void __RPC_STUB IWbemPath_GetServer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 290 HRESULT WINAPI IWbemPath_GetNamespaceCount_Proxy(IWbemPath *This,ULONG *puCount); 291 void __RPC_STUB IWbemPath_GetNamespaceCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 292 HRESULT WINAPI IWbemPath_SetNamespaceAt_Proxy(IWbemPath *This,ULONG uIndex,LPCWSTR pszName); 293 void __RPC_STUB IWbemPath_SetNamespaceAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 294 HRESULT WINAPI IWbemPath_GetNamespaceAt_Proxy(IWbemPath *This,ULONG uIndex,ULONG *puNameBufLength,LPWSTR pName); 295 void __RPC_STUB IWbemPath_GetNamespaceAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 296 HRESULT WINAPI IWbemPath_RemoveNamespaceAt_Proxy(IWbemPath *This,ULONG uIndex); 297 void __RPC_STUB IWbemPath_RemoveNamespaceAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 298 HRESULT WINAPI IWbemPath_RemoveAllNamespaces_Proxy(IWbemPath *This); 299 void __RPC_STUB IWbemPath_RemoveAllNamespaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 300 HRESULT WINAPI IWbemPath_GetScopeCount_Proxy(IWbemPath *This,ULONG *puCount); 301 void __RPC_STUB IWbemPath_GetScopeCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 302 HRESULT WINAPI IWbemPath_SetScope_Proxy(IWbemPath *This,ULONG uIndex,LPWSTR pszClass); 303 void __RPC_STUB IWbemPath_SetScope_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 304 HRESULT WINAPI IWbemPath_SetScopeFromText_Proxy(IWbemPath *This,ULONG uIndex,LPWSTR pszText); 305 void __RPC_STUB IWbemPath_SetScopeFromText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 306 HRESULT WINAPI IWbemPath_GetScope_Proxy(IWbemPath *This,ULONG uIndex,ULONG *puClassNameBufSize,LPWSTR pszClass,IWbemPathKeyList **pKeyList); 307 void __RPC_STUB IWbemPath_GetScope_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 308 HRESULT WINAPI IWbemPath_GetScopeAsText_Proxy(IWbemPath *This,ULONG uIndex,ULONG *puTextBufSize,LPWSTR pszText); 309 void __RPC_STUB IWbemPath_GetScopeAsText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 310 HRESULT WINAPI IWbemPath_RemoveScope_Proxy(IWbemPath *This,ULONG uIndex); 311 void __RPC_STUB IWbemPath_RemoveScope_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 312 HRESULT WINAPI IWbemPath_RemoveAllScopes_Proxy(IWbemPath *This); 313 void __RPC_STUB IWbemPath_RemoveAllScopes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 314 HRESULT WINAPI IWbemPath_SetClassName_Proxy(IWbemPath *This,LPCWSTR Name); 315 void __RPC_STUB IWbemPath_SetClassName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 316 HRESULT WINAPI IWbemPath_GetClassName_Proxy(IWbemPath *This,ULONG *puBuffLength,LPWSTR pszName); 317 void __RPC_STUB IWbemPath_GetClassName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 318 HRESULT WINAPI IWbemPath_GetKeyList_Proxy(IWbemPath *This,IWbemPathKeyList **pOut); 319 void __RPC_STUB IWbemPath_GetKeyList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 320 HRESULT WINAPI IWbemPath_CreateClassPart_Proxy(IWbemPath *This,__LONG32 lFlags,LPCWSTR Name); 321 void __RPC_STUB IWbemPath_CreateClassPart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 322 HRESULT WINAPI IWbemPath_DeleteClassPart_Proxy(IWbemPath *This,__LONG32 lFlags); 323 void __RPC_STUB IWbemPath_DeleteClassPart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 324 WINBOOL WINAPI IWbemPath_IsRelative_Proxy(IWbemPath *This,LPWSTR wszMachine,LPWSTR wszNamespace); 325 void __RPC_STUB IWbemPath_IsRelative_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 326 WINBOOL WINAPI IWbemPath_IsRelativeOrChild_Proxy(IWbemPath *This,LPWSTR wszMachine,LPWSTR wszNamespace,__LONG32 lFlags); 327 void __RPC_STUB IWbemPath_IsRelativeOrChild_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 328 WINBOOL WINAPI IWbemPath_IsLocal_Proxy(IWbemPath *This,LPCWSTR wszMachine); 329 void __RPC_STUB IWbemPath_IsLocal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 330 WINBOOL WINAPI IWbemPath_IsSameClassName_Proxy(IWbemPath *This,LPCWSTR wszClass); 331 void __RPC_STUB IWbemPath_IsSameClassName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 332 #endif 333 334 EXTERN_C const CLSID CLSID_WbemDefPath; 335 #ifdef __cplusplus 336 class WbemDefPath; 337 #endif 338 339 #ifndef __IWbemQuery_INTERFACE_DEFINED__ 340 #define __IWbemQuery_INTERFACE_DEFINED__ 341 EXTERN_C const IID IID_IWbemQuery; 342 #if defined(__cplusplus) && !defined(CINTERFACE) 343 struct IWbemQuery : public IUnknown { 344 public: 345 virtual HRESULT WINAPI Empty(void) = 0; 346 virtual HRESULT WINAPI SetLanguageFeatures(ULONG uFlags,ULONG uArraySize,ULONG *puFeatures) = 0; 347 virtual HRESULT WINAPI TestLanguageFeatures(ULONG uFlags,ULONG *uArraySize,ULONG *puFeatures) = 0; 348 virtual HRESULT WINAPI Parse(LPCWSTR pszLang,LPCWSTR pszQuery,ULONG uFlags) = 0; 349 virtual HRESULT WINAPI GetAnalysis(ULONG uAnalysisType,ULONG uFlags,LPVOID *pAnalysis) = 0; 350 virtual HRESULT WINAPI FreeMemory(LPVOID pMem) = 0; 351 virtual HRESULT WINAPI GetQueryInfo(ULONG uAnalysisType,ULONG uInfoId,ULONG uBufSize,LPVOID pDestBuf) = 0; 352 }; 353 #else 354 typedef struct IWbemQueryVtbl { 355 BEGIN_INTERFACE 356 HRESULT (WINAPI *QueryInterface)(IWbemQuery *This,REFIID riid,void **ppvObject); 357 ULONG (WINAPI *AddRef)(IWbemQuery *This); 358 ULONG (WINAPI *Release)(IWbemQuery *This); 359 HRESULT (WINAPI *Empty)(IWbemQuery *This); 360 HRESULT (WINAPI *SetLanguageFeatures)(IWbemQuery *This,ULONG uFlags,ULONG uArraySize,ULONG *puFeatures); 361 HRESULT (WINAPI *TestLanguageFeatures)(IWbemQuery *This,ULONG uFlags,ULONG *uArraySize,ULONG *puFeatures); 362 HRESULT (WINAPI *Parse)(IWbemQuery *This,LPCWSTR pszLang,LPCWSTR pszQuery,ULONG uFlags); 363 HRESULT (WINAPI *GetAnalysis)(IWbemQuery *This,ULONG uAnalysisType,ULONG uFlags,LPVOID *pAnalysis); 364 HRESULT (WINAPI *FreeMemory)(IWbemQuery *This,LPVOID pMem); 365 HRESULT (WINAPI *GetQueryInfo)(IWbemQuery *This,ULONG uAnalysisType,ULONG uInfoId,ULONG uBufSize,LPVOID pDestBuf); 366 END_INTERFACE 367 } IWbemQueryVtbl; 368 struct IWbemQuery { 369 CONST_VTBL struct IWbemQueryVtbl *lpVtbl; 370 }; 371 #ifdef COBJMACROS 372 #define IWbemQuery_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 373 #define IWbemQuery_AddRef(This) (This)->lpVtbl->AddRef(This) 374 #define IWbemQuery_Release(This) (This)->lpVtbl->Release(This) 375 #define IWbemQuery_Empty(This) (This)->lpVtbl->Empty(This) 376 #define IWbemQuery_SetLanguageFeatures(This,uFlags,uArraySize,puFeatures) (This)->lpVtbl->SetLanguageFeatures(This,uFlags,uArraySize,puFeatures) 377 #define IWbemQuery_TestLanguageFeatures(This,uFlags,uArraySize,puFeatures) (This)->lpVtbl->TestLanguageFeatures(This,uFlags,uArraySize,puFeatures) 378 #define IWbemQuery_Parse(This,pszLang,pszQuery,uFlags) (This)->lpVtbl->Parse(This,pszLang,pszQuery,uFlags) 379 #define IWbemQuery_GetAnalysis(This,uAnalysisType,uFlags,pAnalysis) (This)->lpVtbl->GetAnalysis(This,uAnalysisType,uFlags,pAnalysis) 380 #define IWbemQuery_FreeMemory(This,pMem) (This)->lpVtbl->FreeMemory(This,pMem) 381 #define IWbemQuery_GetQueryInfo(This,uAnalysisType,uInfoId,uBufSize,pDestBuf) (This)->lpVtbl->GetQueryInfo(This,uAnalysisType,uInfoId,uBufSize,pDestBuf) 382 #endif 383 #endif 384 HRESULT WINAPI IWbemQuery_Empty_Proxy(IWbemQuery *This); 385 void __RPC_STUB IWbemQuery_Empty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 386 HRESULT WINAPI IWbemQuery_SetLanguageFeatures_Proxy(IWbemQuery *This,ULONG uFlags,ULONG uArraySize,ULONG *puFeatures); 387 void __RPC_STUB IWbemQuery_SetLanguageFeatures_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 388 HRESULT WINAPI IWbemQuery_TestLanguageFeatures_Proxy(IWbemQuery *This,ULONG uFlags,ULONG *uArraySize,ULONG *puFeatures); 389 void __RPC_STUB IWbemQuery_TestLanguageFeatures_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 390 HRESULT WINAPI IWbemQuery_Parse_Proxy(IWbemQuery *This,LPCWSTR pszLang,LPCWSTR pszQuery,ULONG uFlags); 391 void __RPC_STUB IWbemQuery_Parse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 392 HRESULT WINAPI IWbemQuery_GetAnalysis_Proxy(IWbemQuery *This,ULONG uAnalysisType,ULONG uFlags,LPVOID *pAnalysis); 393 void __RPC_STUB IWbemQuery_GetAnalysis_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 394 HRESULT WINAPI IWbemQuery_FreeMemory_Proxy(IWbemQuery *This,LPVOID pMem); 395 void __RPC_STUB IWbemQuery_FreeMemory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 396 HRESULT WINAPI IWbemQuery_GetQueryInfo_Proxy(IWbemQuery *This,ULONG uAnalysisType,ULONG uInfoId,ULONG uBufSize,LPVOID pDestBuf); 397 void __RPC_STUB IWbemQuery_GetQueryInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 398 #endif 399 400 EXTERN_C const CLSID CLSID_WbemQuery; 401 #ifdef __cplusplus 402 class WbemQuery; 403 #endif 404 #endif 405 406 typedef enum __MIDL___MIDL_itf_wmiutils_0116_0001 { 407 WMIQ_ANALYSIS_RPN_SEQUENCE = 0x1,WMIQ_ANALYSIS_ASSOC_QUERY = 0x2,WMIQ_ANALYSIS_PROP_ANALYSIS_MATRIX = 0x3,WMIQ_ANALYSIS_QUERY_TEXT = 0x4, 408 WMIQ_ANALYSIS_RESERVED = 0x8000000 409 } WMIQ_ANALYSIS_TYPE; 410 411 typedef enum __MIDL___MIDL_itf_wmiutils_0116_0002 { 412 WMIQ_RPN_TOKEN_EXPRESSION = 1,WMIQ_RPN_TOKEN_AND = 2,WMIQ_RPN_TOKEN_OR = 3,WMIQ_RPN_TOKEN_NOT = 4,WMIQ_RPN_OP_UNDEFINED = 0,WMIQ_RPN_OP_EQ = 1, 413 WMIQ_RPN_OP_NE = 2,WMIQ_RPN_OP_GE = 3,WMIQ_RPN_OP_LE = 4,WMIQ_RPN_OP_LT = 5,WMIQ_RPN_OP_GT = 6,WMIQ_RPN_OP_LIKE = 7,WMIQ_RPN_OP_ISA = 8, 414 WMIQ_RPN_OP_ISNOTA = 9,WMIQ_RPN_OP_ISNULL = 10,WMIQ_RPN_OP_ISNOTNULL = 11,WMIQ_RPN_LEFT_PROPERTY_NAME = 0x1,WMIQ_RPN_RIGHT_PROPERTY_NAME = 0x2, 415 WMIQ_RPN_CONST2 = 0x4,WMIQ_RPN_CONST = 0x8,WMIQ_RPN_RELOP = 0x10,WMIQ_RPN_LEFT_FUNCTION = 0x20,WMIQ_RPN_RIGHT_FUNCTION = 0x40, 416 WMIQ_RPN_GET_TOKEN_TYPE = 1,WMIQ_RPN_GET_EXPR_SHAPE = 2,WMIQ_RPN_GET_LEFT_FUNCTION = 3,WMIQ_RPN_GET_RIGHT_FUNCTION = 4,WMIQ_RPN_GET_RELOP = 5, 417 WMIQ_RPN_NEXT_TOKEN = 1,WMIQ_RPN_FROM_UNARY = 0x1,WMIQ_RPN_FROM_PATH = 0x2,WMIQ_RPN_FROM_CLASS_LIST = 0x4,WMIQ_RPN_FROM_MULTIPLE = 0x8 418 } WMIQ_RPN_TOKEN_FLAGS; 419 420 typedef enum __MIDL___MIDL_itf_wmiutils_0116_0003 { 421 WMIQ_ASSOCQ_ASSOCIATORS = 0x1,WMIQ_ASSOCQ_REFERENCES = 0x2,WMIQ_ASSOCQ_RESULTCLASS = 0x4,WMIQ_ASSOCQ_ASSOCCLASS = 0x8,WMIQ_ASSOCQ_ROLE = 0x10, 422 WMIQ_ASSOCQ_RESULTROLE = 0x20,WMIQ_ASSOCQ_REQUIREDQUALIFIER = 0x40,WMIQ_ASSOCQ_REQUIREDASSOCQUALIFIER = 0x80,WMIQ_ASSOCQ_CLASSDEFSONLY = 0x100, 423 WMIQ_ASSOCQ_KEYSONLY = 0x200,WMIQ_ASSOCQ_SCHEMAONLY = 0x400,WMIQ_ASSOCQ_CLASSREFSONLY = 0x800 424 } WMIQ_ASSOCQ_FLAGS; 425 426 typedef struct tag_SWbemQueryQualifiedName { 427 ULONG m_uVersion; 428 ULONG m_uTokenType; 429 ULONG m_uNameListSize; 430 LPCWSTR *m_ppszNameList; 431 WINBOOL m_bArraysUsed; 432 WINBOOL *m_pbArrayElUsed; 433 ULONG *m_puArrayIndex; 434 } SWbemQueryQualifiedName; 435 436 typedef union tag_SWbemRpnConst { 437 LPCWSTR m_pszStrVal; 438 WINBOOL m_bBoolVal; 439 LONG m_lLongVal; 440 ULONG m_uLongVal; 441 double m_dblVal; 442 __MINGW_EXTENSION __int64 m_lVal64; 443 __MINGW_EXTENSION __int64 m_uVal64; 444 } SWbemRpnConst; 445 446 typedef struct tag_SWbemRpnQueryToken { 447 ULONG m_uVersion; 448 ULONG m_uTokenType; 449 ULONG m_uSubexpressionShape; 450 ULONG m_uOperator; 451 SWbemQueryQualifiedName *m_pRightIdent; 452 SWbemQueryQualifiedName *m_pLeftIdent; 453 ULONG m_uConstApparentType; 454 SWbemRpnConst m_Const; 455 ULONG m_uConst2ApparentType; 456 SWbemRpnConst m_Const2; 457 LPCWSTR m_pszRightFunc; 458 LPCWSTR m_pszLeftFunc; 459 } SWbemRpnQueryToken; 460 461 typedef struct tag_SWbemRpnTokenList { 462 ULONG m_uVersion; 463 ULONG m_uTokenType; 464 ULONG m_uNumTokens; 465 } SWbemRpnTokenList; 466 467 typedef enum tag_WMIQ_LANGUAGE_FEATURES { 468 WMIQ_LF1_BASIC_SELECT = 1,WMIQ_LF2_CLASS_NAME_IN_QUERY = 2,WMIQ_LF3_STRING_CASE_FUNCTIONS = 3,WMIQ_LF4_PROP_TO_PROP_TESTS = 4, 469 WMIQ_LF5_COUNT_STAR = 5,WMIQ_LF6_ORDER_BY = 6,WMIQ_LF7_DISTINCT = 7,WMIQ_LF8_ISA = 8,WMIQ_LF9_THIS = 9,WMIQ_LF10_COMPEX_SUBEXPRESSIONS = 10, 470 WMIQ_LF11_ALIASING = 11,WMIQ_LF12_GROUP_BY_HAVING = 12,WMIQ_LF13_WMI_WITHIN = 13,WMIQ_LF14_SQL_WRITE_OPERATIONS = 14,WMIQ_LF15_GO = 15, 471 WMIQ_LF16_SINGLE_LEVEL_TRANSACTIONS = 16,WMIQ_LF17_QUALIFIED_NAMES = 17,WMIQ_LF18_ASSOCIATONS = 18,WMIQ_LF19_SYSTEM_PROPERTIES = 19, 472 WMIQ_LF20_EXTENDED_SYSTEM_PROPERTIES = 20,WMIQ_LF21_SQL89_JOINS = 21,WMIQ_LF22_SQL92_JOINS = 22,WMIQ_LF23_SUBSELECTS = 23, 473 WMIQ_LF24_UMI_EXTENSIONS = 24,WMIQ_LF25_DATEPART = 25,WMIQ_LF26_LIKE = 26,WMIQ_LF27_CIM_TEMPORAL_CONSTRUCTS = 27, 474 WMIQ_LF28_STANDARD_AGGREGATES = 28,WMIQ_LF29_MULTI_LEVEL_ORDER_BY = 29,WMIQ_LF30_WMI_PRAGMAS = 30,WMIQ_LF31_QUALIFIER_TESTS = 31, 475 WMIQ_LF32_SP_EXECUTE = 32,WMIQ_LF33_ARRAY_ACCESS = 33,WMIQ_LF34_UNION = 34,WMIQ_LF35_COMPLEX_SELECT_TARGET = 35,WMIQ_LF36_REFERENCE_TESTS = 36, 476 WMIQ_LF37_SELECT_INTO = 37,WMIQ_LF38_BASIC_DATETIME_TESTS = 38,WMIQ_LF39_COUNT_COLUMN = 39,WMIQ_LF40_BETWEEN = 40,WMIQ_LF_LAST = 40 477 } WMIQ_LANGUAGE_FEATURES; 478 479 typedef enum tag_WMIQ_RPNQ_FEATURE { 480 WMIQ_RPNF_WHERE_CLAUSE_PRESENT = 0x1,WMIQ_RPNF_QUERY_IS_CONJUNCTIVE = 0x2,WMIQ_RPNF_QUERY_IS_DISJUNCTIVE = 0x4,WMIQ_RPNF_PROJECTION = 0x8, 481 WMIQ_RPNF_FEATURE_SELECT_STAR = 0x10,WMIQ_RPNF_EQUALITY_TESTS_ONLY = 0x20,WMIQ_RPNF_COUNT_STAR = 0x40,WMIQ_RPNF_QUALIFIED_NAMES_USED = 0x80, 482 WMIQ_RPNF_SYSPROP_CLASS_USED = 0x100,WMIQ_RPNF_PROP_TO_PROP_TESTS = 0x200,WMIQ_RPNF_ORDER_BY = 0x400,WMIQ_RPNF_ISA_USED = 0x800, 483 WMIQ_RPNF_GROUP_BY_HAVING = 0x1000,WMIQ_RPNF_ARRAY_ACCESS_USED = 0x2000 484 } WMIQ_RPNF_FEATURE; 485 486 typedef struct tag_SWbemRpnEncodedQuery { 487 ULONG m_uVersion; 488 ULONG m_uTokenType; 489 __MINGW_EXTENSION unsigned __int64 m_uParsedFeatureMask; 490 ULONG m_uDetectedArraySize; 491 ULONG *m_puDetectedFeatures; 492 ULONG m_uSelectListSize; 493 SWbemQueryQualifiedName **m_ppSelectList; 494 ULONG m_uFromTargetType; 495 LPCWSTR m_pszOptionalFromPath; 496 ULONG m_uFromListSize; 497 LPCWSTR *m_ppszFromList; 498 ULONG m_uWhereClauseSize; 499 SWbemRpnQueryToken **m_ppRpnWhereClause; 500 double m_dblWithinPolling; 501 double m_dblWithinWindow; 502 ULONG m_uOrderByListSize; 503 LPCWSTR *m_ppszOrderByList; 504 ULONG *m_uOrderDirectionEl; 505 } SWbemRpnEncodedQuery; 506 507 typedef struct tag_SWbemAnalysisMatrix { 508 ULONG m_uVersion; 509 ULONG m_uMatrixType; 510 LPCWSTR m_pszProperty; 511 ULONG m_uPropertyType; 512 ULONG m_uEntries; 513 LPVOID *m_pValues; 514 WINBOOL *m_pbTruthTable; 515 } SWbemAnalysisMatrix; 516 517 typedef struct tag_SWbemAnalysisMatrixList { 518 ULONG m_uVersion; 519 ULONG m_uMatrixType; 520 ULONG m_uNumMatrices; 521 SWbemAnalysisMatrix *m_pMatrices; 522 } SWbemAnalysisMatrixList; 523 524 typedef struct tag_SWbemAssocQueryInf { 525 ULONG m_uVersion; 526 ULONG m_uAnalysisType; 527 ULONG m_uFeatureMask; 528 IWbemPath *m_pPath; 529 LPWSTR m_pszPath; 530 LPWSTR m_pszQueryText; 531 LPWSTR m_pszResultClass; 532 LPWSTR m_pszAssocClass; 533 LPWSTR m_pszRole; 534 LPWSTR m_pszResultRole; 535 LPWSTR m_pszRequiredQualifier; 536 LPWSTR m_pszRequiredAssocQualifier; 537 } SWbemAssocQueryInf; 538 539 extern RPC_IF_HANDLE __MIDL_itf_wmiutils_0116_v0_0_c_ifspec; 540 extern RPC_IF_HANDLE __MIDL_itf_wmiutils_0116_v0_0_s_ifspec; 541 542 #ifdef __cplusplus 543 } 544 #endif 545 #endif 546