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
23typedef class WMIExtension WMIExtension;
24#else
25typedef struct WMIExtension WMIExtension;
26#endif /* defined __cplusplus */
27#endif /* defined __WMIExtension_FWD_DEFINED__ */
28
29#ifndef __IWMIExtension_FWD_DEFINED__
30#define __IWMIExtension_FWD_DEFINED__
31typedef 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
41extern "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
53DEFINE_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__
57typedef interface IWMIExtension IWMIExtension;
58#endif
59
60/*****************************************************************************
61 * WMIExtension coclass
62 */
63
64DEFINE_GUID(CLSID_WMIExtension, 0xf0975afe, 0x5c7f, 0x11d2, 0x8b,0x74, 0x00,0x10,0x4b,0x2a,0xfb,0x41);
65
66#ifdef __cplusplus
67class 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
79DEFINE_GUID(IID_IWMIExtension, 0xadc1f06e, 0x5c7e, 0x11d2, 0x8b,0x74, 0x00,0x10,0x4b,0x2a,0xfb,0x41);
80#if defined(__cplusplus) && !defined(CINTERFACE)
81MIDL_INTERFACE("adc1f06e-5c7e-11d2-8b74-00104b2afb41")
82IWMIExtension : 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
98typedef 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;
158interface 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 ***/
179static FORCEINLINE HRESULT IWMIExtension_QueryInterface(IWMIExtension* This,REFIID riid,void **ppvObject) {
180    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
181}
182static FORCEINLINE ULONG IWMIExtension_AddRef(IWMIExtension* This) {
183    return This->lpVtbl->AddRef(This);
184}
185static FORCEINLINE ULONG IWMIExtension_Release(IWMIExtension* This) {
186    return This->lpVtbl->Release(This);
187}
188/*** IDispatch methods ***/
189static FORCEINLINE HRESULT IWMIExtension_GetTypeInfoCount(IWMIExtension* This,UINT *pctinfo) {
190    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
191}
192static FORCEINLINE HRESULT IWMIExtension_GetTypeInfo(IWMIExtension* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
193    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
194}
195static 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}
198static 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 ***/
202static FORCEINLINE HRESULT IWMIExtension_get_WMIObjectPath(IWMIExtension* This,BSTR *strWMIObjectPath) {
203    return This->lpVtbl->get_WMIObjectPath(This,strWMIObjectPath);
204}
205static FORCEINLINE HRESULT IWMIExtension_GetWMIObject(IWMIExtension* This,ISWbemObject **objWMIObject) {
206    return This->lpVtbl->GetWMIObject(This,objWMIObject);
207}
208static FORCEINLINE HRESULT IWMIExtension_GetWMIServices(IWMIExtension* This,ISWbemServices **objWMIServices) {
209    return This->lpVtbl->GetWMIServices(This,objWMIServices);
210}
211#endif
212#endif
213
214#endif
215
216HRESULT STDMETHODCALLTYPE IWMIExtension_get_WMIObjectPath_Proxy(
217    IWMIExtension* This,
218    BSTR *strWMIObjectPath);
219void __RPC_STUB IWMIExtension_get_WMIObjectPath_Stub(
220    IRpcStubBuffer* This,
221    IRpcChannelBuffer* pRpcChannelBuffer,
222    PRPC_MESSAGE pRpcMessage,
223    DWORD* pdwStubPhase);
224HRESULT STDMETHODCALLTYPE IWMIExtension_GetWMIObject_Proxy(
225    IWMIExtension* This,
226    ISWbemObject **objWMIObject);
227void __RPC_STUB IWMIExtension_GetWMIObject_Stub(
228    IRpcStubBuffer* This,
229    IRpcChannelBuffer* pRpcChannelBuffer,
230    PRPC_MESSAGE pRpcMessage,
231    DWORD* pdwStubPhase);
232HRESULT STDMETHODCALLTYPE IWMIExtension_GetWMIServices_Proxy(
233    IWMIExtension* This,
234    ISWbemServices **objWMIServices);
235void __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
246ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
247unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
248unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
249void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
250
251/* End additional prototypes */
252
253#ifdef __cplusplus
254}
255#endif
256
257#endif /* __wbemads_h__ */
258