1 /*** Autogenerated by WIDL 1.6 from include/wbemads.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __wbemads_h__
16 #define __wbemads_h__
17 
18 /* Forward declarations */
19 
20 #ifndef __WMIExtension_FWD_DEFINED__
21 #define __WMIExtension_FWD_DEFINED__
22 #ifdef __cplusplus
23 typedef class WMIExtension WMIExtension;
24 #else
25 typedef struct WMIExtension WMIExtension;
26 #endif /* defined __cplusplus */
27 #endif /* defined __WMIExtension_FWD_DEFINED__ */
28 
29 #ifndef __IWMIExtension_FWD_DEFINED__
30 #define __IWMIExtension_FWD_DEFINED__
31 typedef interface IWMIExtension IWMIExtension;
32 #endif
33 
34 /* Headers for imported files */
35 
36 #include <oaidl.h>
37 #include <ocidl.h>
38 #include <wbemdisp.h>
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 /**
45  * This file is part of the mingw-w64 runtime package.
46  * No warranty is given; refer to the file DISCLAIMER within this package.
47  */
48 
49 #include <winapifamily.h>
50 
51 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
52 
53 DEFINE_GUID(LIBID_WMIEXTENSIONLib, 0xe503d000, 0x5c7f, 0x11d2, 0x8b,0x74, 0x00,0x10,0x4b,0x2a,0xfb,0x41);
54 
55 #ifndef __IWMIExtension_FWD_DEFINED__
56 #define __IWMIExtension_FWD_DEFINED__
57 typedef interface IWMIExtension IWMIExtension;
58 #endif
59 
60 /*****************************************************************************
61  * WMIExtension coclass
62  */
63 
64 DEFINE_GUID(CLSID_WMIExtension, 0xf0975afe, 0x5c7f, 0x11d2, 0x8b,0x74, 0x00,0x10,0x4b,0x2a,0xfb,0x41);
65 
66 #ifdef __cplusplus
67 class DECLSPEC_UUID("f0975afe-5c7f-11d2-8b74-00104b2afb41") WMIExtension;
68 #ifdef __CRT_UUID_DECL
69 __CRT_UUID_DECL(WMIExtension, 0xf0975afe, 0x5c7f, 0x11d2, 0x8b,0x74, 0x00,0x10,0x4b,0x2a,0xfb,0x41)
70 #endif
71 #endif
72 
73 /*****************************************************************************
74  * IWMIExtension interface
75  */
76 #ifndef __IWMIExtension_INTERFACE_DEFINED__
77 #define __IWMIExtension_INTERFACE_DEFINED__
78 
79 DEFINE_GUID(IID_IWMIExtension, 0xadc1f06e, 0x5c7e, 0x11d2, 0x8b,0x74, 0x00,0x10,0x4b,0x2a,0xfb,0x41);
80 #if defined(__cplusplus) && !defined(CINTERFACE)
81 MIDL_INTERFACE("adc1f06e-5c7e-11d2-8b74-00104b2afb41")
82 IWMIExtension : public IDispatch
83 {
84     virtual HRESULT STDMETHODCALLTYPE get_WMIObjectPath(
85         BSTR *strWMIObjectPath) = 0;
86 
87     virtual HRESULT STDMETHODCALLTYPE GetWMIObject(
88         ISWbemObject **objWMIObject) = 0;
89 
90     virtual HRESULT STDMETHODCALLTYPE GetWMIServices(
91         ISWbemServices **objWMIServices) = 0;
92 
93 };
94 #ifdef __CRT_UUID_DECL
95 __CRT_UUID_DECL(IWMIExtension, 0xadc1f06e, 0x5c7e, 0x11d2, 0x8b,0x74, 0x00,0x10,0x4b,0x2a,0xfb,0x41)
96 #endif
97 #else
98 typedef struct IWMIExtensionVtbl {
99     BEGIN_INTERFACE
100 
101     /*** IUnknown methods ***/
102     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
103         IWMIExtension* This,
104         REFIID riid,
105         void **ppvObject);
106 
107     ULONG (STDMETHODCALLTYPE *AddRef)(
108         IWMIExtension* This);
109 
110     ULONG (STDMETHODCALLTYPE *Release)(
111         IWMIExtension* This);
112 
113     /*** IDispatch methods ***/
114     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
115         IWMIExtension* This,
116         UINT *pctinfo);
117 
118     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
119         IWMIExtension* This,
120         UINT iTInfo,
121         LCID lcid,
122         ITypeInfo **ppTInfo);
123 
124     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
125         IWMIExtension* This,
126         REFIID riid,
127         LPOLESTR *rgszNames,
128         UINT cNames,
129         LCID lcid,
130         DISPID *rgDispId);
131 
132     HRESULT (STDMETHODCALLTYPE *Invoke)(
133         IWMIExtension* This,
134         DISPID dispIdMember,
135         REFIID riid,
136         LCID lcid,
137         WORD wFlags,
138         DISPPARAMS *pDispParams,
139         VARIANT *pVarResult,
140         EXCEPINFO *pExcepInfo,
141         UINT *puArgErr);
142 
143     /*** IWMIExtension methods ***/
144     HRESULT (STDMETHODCALLTYPE *get_WMIObjectPath)(
145         IWMIExtension* This,
146         BSTR *strWMIObjectPath);
147 
148     HRESULT (STDMETHODCALLTYPE *GetWMIObject)(
149         IWMIExtension* This,
150         ISWbemObject **objWMIObject);
151 
152     HRESULT (STDMETHODCALLTYPE *GetWMIServices)(
153         IWMIExtension* This,
154         ISWbemServices **objWMIServices);
155 
156     END_INTERFACE
157 } IWMIExtensionVtbl;
158 interface IWMIExtension {
159     CONST_VTBL IWMIExtensionVtbl* lpVtbl;
160 };
161 
162 #ifdef COBJMACROS
163 #ifndef WIDL_C_INLINE_WRAPPERS
164 /*** IUnknown methods ***/
165 #define IWMIExtension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
166 #define IWMIExtension_AddRef(This) (This)->lpVtbl->AddRef(This)
167 #define IWMIExtension_Release(This) (This)->lpVtbl->Release(This)
168 /*** IDispatch methods ***/
169 #define IWMIExtension_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
170 #define IWMIExtension_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
171 #define IWMIExtension_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
172 #define IWMIExtension_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
173 /*** IWMIExtension methods ***/
174 #define IWMIExtension_get_WMIObjectPath(This,strWMIObjectPath) (This)->lpVtbl->get_WMIObjectPath(This,strWMIObjectPath)
175 #define IWMIExtension_GetWMIObject(This,objWMIObject) (This)->lpVtbl->GetWMIObject(This,objWMIObject)
176 #define IWMIExtension_GetWMIServices(This,objWMIServices) (This)->lpVtbl->GetWMIServices(This,objWMIServices)
177 #else
178 /*** IUnknown methods ***/
179 static FORCEINLINE HRESULT IWMIExtension_QueryInterface(IWMIExtension* This,REFIID riid,void **ppvObject) {
180     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
181 }
182 static FORCEINLINE ULONG IWMIExtension_AddRef(IWMIExtension* This) {
183     return This->lpVtbl->AddRef(This);
184 }
185 static FORCEINLINE ULONG IWMIExtension_Release(IWMIExtension* This) {
186     return This->lpVtbl->Release(This);
187 }
188 /*** IDispatch methods ***/
189 static FORCEINLINE HRESULT IWMIExtension_GetTypeInfoCount(IWMIExtension* This,UINT *pctinfo) {
190     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
191 }
192 static FORCEINLINE HRESULT IWMIExtension_GetTypeInfo(IWMIExtension* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
193     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
194 }
195 static FORCEINLINE HRESULT IWMIExtension_GetIDsOfNames(IWMIExtension* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
196     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
197 }
198 static FORCEINLINE HRESULT IWMIExtension_Invoke(IWMIExtension* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
199     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
200 }
201 /*** IWMIExtension methods ***/
202 static FORCEINLINE HRESULT IWMIExtension_get_WMIObjectPath(IWMIExtension* This,BSTR *strWMIObjectPath) {
203     return This->lpVtbl->get_WMIObjectPath(This,strWMIObjectPath);
204 }
205 static FORCEINLINE HRESULT IWMIExtension_GetWMIObject(IWMIExtension* This,ISWbemObject **objWMIObject) {
206     return This->lpVtbl->GetWMIObject(This,objWMIObject);
207 }
208 static FORCEINLINE HRESULT IWMIExtension_GetWMIServices(IWMIExtension* This,ISWbemServices **objWMIServices) {
209     return This->lpVtbl->GetWMIServices(This,objWMIServices);
210 }
211 #endif
212 #endif
213 
214 #endif
215 
216 HRESULT STDMETHODCALLTYPE IWMIExtension_get_WMIObjectPath_Proxy(
217     IWMIExtension* This,
218     BSTR *strWMIObjectPath);
219 void __RPC_STUB IWMIExtension_get_WMIObjectPath_Stub(
220     IRpcStubBuffer* This,
221     IRpcChannelBuffer* pRpcChannelBuffer,
222     PRPC_MESSAGE pRpcMessage,
223     DWORD* pdwStubPhase);
224 HRESULT STDMETHODCALLTYPE IWMIExtension_GetWMIObject_Proxy(
225     IWMIExtension* This,
226     ISWbemObject **objWMIObject);
227 void __RPC_STUB IWMIExtension_GetWMIObject_Stub(
228     IRpcStubBuffer* This,
229     IRpcChannelBuffer* pRpcChannelBuffer,
230     PRPC_MESSAGE pRpcMessage,
231     DWORD* pdwStubPhase);
232 HRESULT STDMETHODCALLTYPE IWMIExtension_GetWMIServices_Proxy(
233     IWMIExtension* This,
234     ISWbemServices **objWMIServices);
235 void __RPC_STUB IWMIExtension_GetWMIServices_Stub(
236     IRpcStubBuffer* This,
237     IRpcChannelBuffer* pRpcChannelBuffer,
238     PRPC_MESSAGE pRpcMessage,
239     DWORD* pdwStubPhase);
240 
241 #endif  /* __IWMIExtension_INTERFACE_DEFINED__ */
242 
243 #endif
244 /* Begin additional prototypes for all interfaces */
245 
246 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
247 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
248 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
249 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
250 
251 /* End additional prototypes */
252 
253 #ifdef __cplusplus
254 }
255 #endif
256 
257 #endif /* __wbemads_h__ */
258