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 __wbemads_h__ 23 #define __wbemads_h__ 24 25 #ifndef __IWMIExtension_FWD_DEFINED__ 26 #define __IWMIExtension_FWD_DEFINED__ 27 typedef struct IWMIExtension IWMIExtension; 28 #endif 29 30 #ifndef __WMIExtension_FWD_DEFINED__ 31 #define __WMIExtension_FWD_DEFINED__ 32 33 #ifdef __cplusplus 34 typedef class WMIExtension WMIExtension; 35 #else 36 typedef struct WMIExtension WMIExtension; 37 #endif 38 #endif 39 40 #ifndef __IWMIExtension_FWD_DEFINED__ 41 #define __IWMIExtension_FWD_DEFINED__ 42 typedef struct IWMIExtension IWMIExtension; 43 #endif 44 45 #include "oaidl.h" 46 #include "ocidl.h" 47 #include "wbemdisp.h" 48 49 #ifdef __cplusplus 50 extern "C" { 51 #endif 52 53 #ifndef __MIDL_user_allocate_free_DEFINED__ 54 #define __MIDL_user_allocate_free_DEFINED__ 55 void *__RPC_API MIDL_user_allocate(size_t); 56 void __RPC_API MIDL_user_free(void *); 57 #endif 58 59 extern RPC_IF_HANDLE __MIDL_itf_wbemads_0000_v0_0_c_ifspec; 60 extern RPC_IF_HANDLE __MIDL_itf_wbemads_0000_v0_0_s_ifspec; 61 #ifndef __WMIEXTENSIONLib_LIBRARY_DEFINED__ 62 #define __WMIEXTENSIONLib_LIBRARY_DEFINED__ 63 EXTERN_C const IID LIBID_WMIEXTENSIONLib; 64 #ifndef __IWMIExtension_INTERFACE_DEFINED__ 65 #define __IWMIExtension_INTERFACE_DEFINED__ 66 EXTERN_C const IID IID_IWMIExtension; 67 #if defined(__cplusplus) && !defined(CINTERFACE) 68 struct IWMIExtension : public IDispatch { 69 public: 70 virtual HRESULT WINAPI get_WMIObjectPath(BSTR *strWMIObjectPath) = 0; 71 virtual HRESULT WINAPI GetWMIObject(ISWbemObject **objWMIObject) = 0; 72 virtual HRESULT WINAPI GetWMIServices(ISWbemServices **objWMIServices) = 0; 73 }; 74 #else 75 typedef struct IWMIExtensionVtbl { 76 BEGIN_INTERFACE 77 HRESULT (WINAPI *QueryInterface)(IWMIExtension *This,REFIID riid,void **ppvObject); 78 ULONG (WINAPI *AddRef)(IWMIExtension *This); 79 ULONG (WINAPI *Release)(IWMIExtension *This); 80 HRESULT (WINAPI *GetTypeInfoCount)(IWMIExtension *This,UINT *pctinfo); 81 HRESULT (WINAPI *GetTypeInfo)(IWMIExtension *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); 82 HRESULT (WINAPI *GetIDsOfNames)(IWMIExtension *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); 83 HRESULT (WINAPI *Invoke)(IWMIExtension *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); 84 HRESULT (WINAPI *get_WMIObjectPath)(IWMIExtension *This,BSTR *strWMIObjectPath); 85 HRESULT (WINAPI *GetWMIObject)(IWMIExtension *This,ISWbemObject **objWMIObject); 86 HRESULT (WINAPI *GetWMIServices)(IWMIExtension *This,ISWbemServices **objWMIServices); 87 END_INTERFACE 88 } IWMIExtensionVtbl; 89 struct IWMIExtension { 90 CONST_VTBL struct IWMIExtensionVtbl *lpVtbl; 91 }; 92 #ifdef COBJMACROS 93 #define IWMIExtension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 94 #define IWMIExtension_AddRef(This) (This)->lpVtbl->AddRef(This) 95 #define IWMIExtension_Release(This) (This)->lpVtbl->Release(This) 96 #define IWMIExtension_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) 97 #define IWMIExtension_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) 98 #define IWMIExtension_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) 99 #define IWMIExtension_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) 100 #define IWMIExtension_get_WMIObjectPath(This,strWMIObjectPath) (This)->lpVtbl->get_WMIObjectPath(This,strWMIObjectPath) 101 #define IWMIExtension_GetWMIObject(This,objWMIObject) (This)->lpVtbl->GetWMIObject(This,objWMIObject) 102 #define IWMIExtension_GetWMIServices(This,objWMIServices) (This)->lpVtbl->GetWMIServices(This,objWMIServices) 103 #endif 104 #endif 105 HRESULT WINAPI IWMIExtension_get_WMIObjectPath_Proxy(IWMIExtension *This,BSTR *strWMIObjectPath); 106 void __RPC_STUB IWMIExtension_get_WMIObjectPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 107 HRESULT WINAPI IWMIExtension_GetWMIObject_Proxy(IWMIExtension *This,ISWbemObject **objWMIObject); 108 void __RPC_STUB IWMIExtension_GetWMIObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 109 HRESULT WINAPI IWMIExtension_GetWMIServices_Proxy(IWMIExtension *This,ISWbemServices **objWMIServices); 110 void __RPC_STUB IWMIExtension_GetWMIServices_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 111 #endif 112 113 EXTERN_C const CLSID CLSID_WMIExtension; 114 #ifdef __cplusplus 115 class WMIExtension; 116 #endif 117 #endif 118 119 ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *); 120 unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *); 121 unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *); 122 void __RPC_API BSTR_UserFree(ULONG *,BSTR *); 123 124 #ifdef __cplusplus 125 } 126 #endif 127 #endif 128