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(ICOM_MSVTABLE_COMPAT) && (!defined(__cplusplus) || defined(CINTERFACE))
12 # define ICOM_MSVTABLE_COMPAT_FIELDS long dummyRTTI1,dummyRTTI2;
13 # define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 0,0,
15 # define ICOM_MSVTABLE_COMPAT_FIELDS
16 # define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
18 #ifndef __IUnknown_FWD_DEFINED__
19 #define __IUnknown_FWD_DEFINED__
20 typedef struct IUnknown IUnknown
;
23 typedef IUnknown
*LPUNKNOWN
;
25 /*****************************************************************************
28 #ifndef __IUnknown_INTERFACE_DEFINED__
29 #define __IUnknown_INTERFACE_DEFINED__
31 DEFINE_GUID(IID_IUnknown
, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
32 #if defined(__cplusplus) && !defined(CINTERFACE)
33 #ifdef ICOM_USE_COM_INTERFACE_ATTRIBUTE
34 struct __attribute__((com_interface
)) IUnknown
39 virtual HRESULT STDMETHODCALLTYPE
QueryInterface(
41 void** ppvObject
) = 0;
43 virtual ULONG STDMETHODCALLTYPE
AddRef(
46 virtual ULONG STDMETHODCALLTYPE
Release(
51 typedef struct IUnknownVtbl IUnknownVtbl
;
53 const IUnknownVtbl
* lpVtbl
;
56 ICOM_MSVTABLE_COMPAT_FIELDS
58 /*** IUnknown methods ***/
59 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
64 ULONG (STDMETHODCALLTYPE
*AddRef
)(
67 ULONG (STDMETHODCALLTYPE
*Release
)(
73 /*** IUnknown methods ***/
74 #define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
75 #define IUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
76 #define IUnknown_Release(p) (p)->lpVtbl->Release(p)
81 #define IUnknown_METHODS \
82 ICOM_MSVTABLE_COMPAT_FIELDS \
83 /*** IUnknown methods ***/ \
84 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
85 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
86 STDMETHOD_(ULONG,Release)(THIS) PURE;
88 HRESULT CALLBACK
IUnknown_QueryInterface_Proxy(
92 void __RPC_STUB
IUnknown_QueryInterface_Stub(
93 struct IRpcStubBuffer
* This
,
94 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
95 PRPC_MESSAGE pRpcMessage
,
97 ULONG CALLBACK
IUnknown_AddRef_Proxy(
99 void __RPC_STUB
IUnknown_AddRef_Stub(
100 struct IRpcStubBuffer
* This
,
101 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
102 PRPC_MESSAGE pRpcMessage
,
103 DWORD
* pdwStubPhase
);
104 ULONG CALLBACK
IUnknown_Release_Proxy(
106 void __RPC_STUB
IUnknown_Release_Stub(
107 struct IRpcStubBuffer
* This
,
108 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
109 PRPC_MESSAGE pRpcMessage
,
110 DWORD
* pdwStubPhase
);
112 #endif /* __IUnknown_INTERFACE_DEFINED__ */
114 #ifndef __IClassFactory_FWD_DEFINED__
115 #define __IClassFactory_FWD_DEFINED__
116 typedef struct IClassFactory IClassFactory
;
119 typedef IClassFactory
*LPCLASSFACTORY
;
121 /*****************************************************************************
122 * IClassFactory interface
124 #ifndef __IClassFactory_INTERFACE_DEFINED__
125 #define __IClassFactory_INTERFACE_DEFINED__
127 DEFINE_GUID(IID_IClassFactory
, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
128 #if defined(__cplusplus) && !defined(CINTERFACE)
129 struct IClassFactory
: public IUnknown
131 virtual HRESULT STDMETHODCALLTYPE
CreateInstance(
134 void** ppvObject
) = 0;
136 virtual HRESULT STDMETHODCALLTYPE
LockServer(
141 typedef struct IClassFactoryVtbl IClassFactoryVtbl
;
142 struct IClassFactory
{
143 const IClassFactoryVtbl
* lpVtbl
;
145 struct IClassFactoryVtbl
{
146 ICOM_MSVTABLE_COMPAT_FIELDS
148 /*** IUnknown methods ***/
149 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
154 ULONG (STDMETHODCALLTYPE
*AddRef
)(
155 IClassFactory
* This
);
157 ULONG (STDMETHODCALLTYPE
*Release
)(
158 IClassFactory
* This
);
160 /*** IClassFactory methods ***/
161 HRESULT (STDMETHODCALLTYPE
*CreateInstance
)(
167 HRESULT (STDMETHODCALLTYPE
*LockServer
)(
174 /*** IUnknown methods ***/
175 #define IClassFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
176 #define IClassFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
177 #define IClassFactory_Release(p) (p)->lpVtbl->Release(p)
178 /*** IClassFactory methods ***/
179 #define IClassFactory_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
180 #define IClassFactory_LockServer(p,a) (p)->lpVtbl->LockServer(p,a)
185 #define IClassFactory_METHODS \
186 ICOM_MSVTABLE_COMPAT_FIELDS \
187 /*** IUnknown methods ***/ \
188 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
189 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
190 STDMETHOD_(ULONG,Release)(THIS) PURE; \
191 /*** IClassFactory methods ***/ \
192 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, void** ppvObject) PURE; \
193 STDMETHOD_(HRESULT,LockServer)(THIS_ BOOL fLock) PURE;
195 HRESULT CALLBACK
IClassFactory_RemoteCreateInstance_Proxy(
198 IUnknown
** ppvObject
);
199 void __RPC_STUB
IClassFactory_RemoteCreateInstance_Stub(
200 struct IRpcStubBuffer
* This
,
201 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
202 PRPC_MESSAGE pRpcMessage
,
203 DWORD
* pdwStubPhase
);
204 HRESULT CALLBACK
IClassFactory_CreateInstance_Proxy(
209 HRESULT __RPC_STUB
IClassFactory_CreateInstance_Stub(
212 IUnknown
** ppvObject
);
213 HRESULT CALLBACK
IClassFactory_RemoteLockServer_Proxy(
216 void __RPC_STUB
IClassFactory_RemoteLockServer_Stub(
217 struct IRpcStubBuffer
* This
,
218 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
219 PRPC_MESSAGE pRpcMessage
,
220 DWORD
* pdwStubPhase
);
221 HRESULT CALLBACK
IClassFactory_LockServer_Proxy(
224 HRESULT __RPC_STUB
IClassFactory_LockServer_Stub(
228 #endif /* __IClassFactory_INTERFACE_DEFINED__ */
233 #endif /* __WIDL_UNKNWN_H */