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 typedef struct IUnknown IUnknown
;
19 typedef IUnknown
*LPUNKNOWN
;
21 /*****************************************************************************
24 DEFINE_GUID(IID_IUnknown
, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
25 #if defined(__cplusplus) && !defined(CINTERFACE)
26 #ifdef ICOM_USE_COM_INTERFACE_ATTRIBUTE
27 struct __attribute__((com_interface
)) IUnknown
32 virtual HRESULT STDMETHODCALLTYPE
QueryInterface(
34 void** ppvObject
) = 0;
36 virtual ULONG STDMETHODCALLTYPE
AddRef(
39 virtual ULONG STDMETHODCALLTYPE
Release(
44 typedef struct IUnknownVtbl IUnknownVtbl
;
46 const IUnknownVtbl
* lpVtbl
;
49 ICOM_MSVTABLE_COMPAT_FIELDS
51 /*** IUnknown methods ***/
52 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
57 ULONG (STDMETHODCALLTYPE
*AddRef
)(
60 ULONG (STDMETHODCALLTYPE
*Release
)(
65 /*** IUnknown methods ***/
66 #define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
67 #define IUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
68 #define IUnknown_Release(p) (p)->lpVtbl->Release(p)
72 #define IUnknown_METHODS \
73 ICOM_MSVTABLE_COMPAT_FIELDS \
74 /*** IUnknown methods ***/ \
75 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
76 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
77 STDMETHOD_(ULONG,Release)(THIS) PURE;
79 HRESULT CALLBACK
IUnknown_QueryInterface_Proxy(
83 void __RPC_STUB
IUnknown_QueryInterface_Stub(
84 struct IRpcStubBuffer
* This
,
85 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
86 PRPC_MESSAGE pRpcMessage
,
88 ULONG CALLBACK
IUnknown_AddRef_Proxy(
90 void __RPC_STUB
IUnknown_AddRef_Stub(
91 struct IRpcStubBuffer
* This
,
92 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
93 PRPC_MESSAGE pRpcMessage
,
95 ULONG CALLBACK
IUnknown_Release_Proxy(
97 void __RPC_STUB
IUnknown_Release_Stub(
98 struct IRpcStubBuffer
* This
,
99 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
100 PRPC_MESSAGE pRpcMessage
,
101 DWORD
* pdwStubPhase
);
103 typedef struct IClassFactory IClassFactory
;
104 typedef IClassFactory
*LPCLASSFACTORY
;
106 /*****************************************************************************
107 * IClassFactory interface
109 DEFINE_GUID(IID_IClassFactory
, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
110 #if defined(__cplusplus) && !defined(CINTERFACE)
111 struct IClassFactory
: public IUnknown
113 virtual HRESULT STDMETHODCALLTYPE
CreateInstance(
116 void** ppvObject
) = 0;
118 virtual HRESULT STDMETHODCALLTYPE
LockServer(
123 typedef struct IClassFactoryVtbl IClassFactoryVtbl
;
124 struct IClassFactory
{
125 const IClassFactoryVtbl
* lpVtbl
;
127 struct IClassFactoryVtbl
{
128 ICOM_MSVTABLE_COMPAT_FIELDS
130 /*** IUnknown methods ***/
131 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
136 ULONG (STDMETHODCALLTYPE
*AddRef
)(
137 IClassFactory
* This
);
139 ULONG (STDMETHODCALLTYPE
*Release
)(
140 IClassFactory
* This
);
142 /*** IClassFactory methods ***/
143 HRESULT (STDMETHODCALLTYPE
*CreateInstance
)(
149 HRESULT (STDMETHODCALLTYPE
*LockServer
)(
155 /*** IUnknown methods ***/
156 #define IClassFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
157 #define IClassFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
158 #define IClassFactory_Release(p) (p)->lpVtbl->Release(p)
159 /*** IClassFactory methods ***/
160 #define IClassFactory_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
161 #define IClassFactory_LockServer(p,a) (p)->lpVtbl->LockServer(p,a)
165 #define IClassFactory_METHODS \
166 ICOM_MSVTABLE_COMPAT_FIELDS \
167 /*** IUnknown methods ***/ \
168 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
169 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
170 STDMETHOD_(ULONG,Release)(THIS) PURE; \
171 /*** IClassFactory methods ***/ \
172 STDMETHOD_(HRESULT,CreateInstance)(THIS_ IUnknown* pUnkOuter, REFIID riid, void** ppvObject) PURE; \
173 STDMETHOD_(HRESULT,LockServer)(THIS_ BOOL fLock) PURE;
175 HRESULT CALLBACK
IClassFactory_RemoteCreateInstance_Proxy(
178 IUnknown
** ppvObject
);
179 void __RPC_STUB
IClassFactory_RemoteCreateInstance_Stub(
180 struct IRpcStubBuffer
* This
,
181 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
182 PRPC_MESSAGE pRpcMessage
,
183 DWORD
* pdwStubPhase
);
184 HRESULT CALLBACK
IClassFactory_CreateInstance_Proxy(
189 HRESULT __RPC_STUB
IClassFactory_CreateInstance_Stub(
192 IUnknown
** ppvObject
);
193 HRESULT CALLBACK
IClassFactory_RemoteLockServer_Proxy(
196 void __RPC_STUB
IClassFactory_RemoteLockServer_Stub(
197 struct IRpcStubBuffer
* This
,
198 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
199 PRPC_MESSAGE pRpcMessage
,
200 DWORD
* pdwStubPhase
);
201 HRESULT CALLBACK
IClassFactory_LockServer_Proxy(
204 HRESULT __RPC_STUB
IClassFactory_LockServer_Stub(
211 #endif /* __WIDL_UNKNWN_H */