1 /*** Autogenerated by WIDL 0.1 from unknwn.idl - Do not edit ***/
5 #ifndef __WIDL_UNKNWN_H
6 #define __WIDL_UNKNWN_H
11 #if defined(__cplusplus) && !defined(CINTERFACE)
12 #ifdef ICOM_USE_COM_INTERFACE_ATTRIBUTE
13 #define ICOM_COM_INTERFACE_ATTRIBUTE __attribute__((com_interface))
15 #define ICOM_COM_INTERFACE_ATTRIBUTE
18 #ifdef ICOM_MSVTABLE_COMPAT
19 #define ICOM_MSVTABLE_COMPAT_FIELDS \
22 #define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 0,0,
24 #define ICOM_MSVTABLE_COMPAT_FIELDS
25 #define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
28 typedef struct IUnknown IUnknown;
29 typedef IUnknown *LPUNKNOWN;
31 /*****************************************************************************
34 DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
35 #if defined(__cplusplus) && !defined(CINTERFACE)
38 virtual HRESULT STDMETHODCALLTYPE QueryInterface(
40 void** ppvObject) = 0;
42 virtual ULONG STDMETHODCALLTYPE AddRef(
45 virtual ULONG STDMETHODCALLTYPE Release(
48 } ICOM_COM_INTERFACE_ATTRIBUTE;
50 typedef struct IUnknownVtbl IUnknownVtbl;
52 const IUnknownVtbl* lpVtbl;
55 ICOM_MSVTABLE_COMPAT_FIELDS
57 /*** IUnknown methods ***/
58 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
63 ULONG (STDMETHODCALLTYPE *AddRef)(
66 ULONG (STDMETHODCALLTYPE *Release)(
71 #define IUnknown_IMETHODS \
72 /*** IUnknown methods ***/ \
73 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
74 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
75 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This);
77 /*** IUnknown methods ***/
78 #define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
79 #define IUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
80 #define IUnknown_Release(p) (p)->lpVtbl->Release(p)
84 HRESULT CALLBACK IUnknown_QueryInterface_Proxy(
88 void __RPC_STUB IUnknown_QueryInterface_Stub(
89 struct IRpcStubBuffer* This,
90 struct IRpcChannelBuffer* pRpcChannelBuffer,
91 PRPC_MESSAGE pRpcMessage,
93 ULONG CALLBACK IUnknown_AddRef_Proxy(
95 void __RPC_STUB IUnknown_AddRef_Stub(
96 struct IRpcStubBuffer* This,
97 struct IRpcChannelBuffer* pRpcChannelBuffer,
98 PRPC_MESSAGE pRpcMessage,
100 ULONG CALLBACK IUnknown_Release_Proxy(
102 void __RPC_STUB IUnknown_Release_Stub(
103 struct IRpcStubBuffer* This,
104 struct IRpcChannelBuffer* pRpcChannelBuffer,
105 PRPC_MESSAGE pRpcMessage,
106 DWORD* pdwStubPhase);
108 typedef struct IClassFactory IClassFactory;
109 typedef IClassFactory *LPCLASSFACTORY;
111 /*****************************************************************************
112 * IClassFactory interface
114 DEFINE_GUID(IID_IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
115 #if defined(__cplusplus) && !defined(CINTERFACE)
116 struct IClassFactory: IUnknown {
118 virtual HRESULT STDMETHODCALLTYPE CreateInstance(
121 void** ppvObject) = 0;
123 virtual HRESULT STDMETHODCALLTYPE LockServer(
126 } ICOM_COM_INTERFACE_ATTRIBUTE;
128 typedef struct IClassFactoryVtbl IClassFactoryVtbl;
129 struct IClassFactory {
130 const IClassFactoryVtbl* lpVtbl;
132 struct IClassFactoryVtbl {
133 ICOM_MSVTABLE_COMPAT_FIELDS
135 /*** IUnknown methods ***/
136 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
141 ULONG (STDMETHODCALLTYPE *AddRef)(
142 IClassFactory* This);
144 ULONG (STDMETHODCALLTYPE *Release)(
145 IClassFactory* This);
147 /*** IClassFactory methods ***/
148 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
154 HRESULT (STDMETHODCALLTYPE *LockServer)(
160 #define IClassFactory_IMETHODS \
161 /*** IUnknown methods ***/ \
162 HRESULT (STDMETHODCALLTYPE *QueryInterface)(INTERFACE *This, REFIID riid, void** ppvObject); \
163 ULONG (STDMETHODCALLTYPE *AddRef)(INTERFACE *This); \
164 ULONG (STDMETHODCALLTYPE *Release)(INTERFACE *This); \
165 /*** IClassFactory methods ***/ \
166 HRESULT (STDMETHODCALLTYPE *CreateInstance)(INTERFACE *This, IUnknown* pUnkOuter, REFIID riid, void** ppvObject); \
167 HRESULT (STDMETHODCALLTYPE *LockServer)(INTERFACE *This, BOOL fLock);
169 /*** IUnknown methods ***/
170 #define IClassFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
171 #define IClassFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
172 #define IClassFactory_Release(p) (p)->lpVtbl->Release(p)
173 /*** IClassFactory methods ***/
174 #define IClassFactory_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
175 #define IClassFactory_LockServer(p,a) (p)->lpVtbl->LockServer(p,a)
179 HRESULT CALLBACK IClassFactory_RemoteCreateInstance_Proxy(
182 IUnknown** ppvObject);
183 void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub(
184 struct IRpcStubBuffer* This,
185 struct IRpcChannelBuffer* pRpcChannelBuffer,
186 PRPC_MESSAGE pRpcMessage,
187 DWORD* pdwStubPhase);
188 HRESULT CALLBACK IClassFactory_CreateInstance_Proxy(
193 HRESULT __RPC_STUB IClassFactory_CreateInstance_Stub(
196 IUnknown** ppvObject);
197 HRESULT CALLBACK IClassFactory_RemoteLockServer_Proxy(
200 void __RPC_STUB IClassFactory_RemoteLockServer_Stub(
201 struct IRpcStubBuffer* This,
202 struct IRpcChannelBuffer* pRpcChannelBuffer,
203 PRPC_MESSAGE pRpcMessage,
204 DWORD* pdwStubPhase);
205 HRESULT CALLBACK IClassFactory_LockServer_Proxy(
208 HRESULT __RPC_STUB IClassFactory_LockServer_Stub(
215 #endif /* __WIDL_UNKNWN_H */