1 /*** Autogenerated by WIDL 0.1 from unknwn.idl - Do not edit ***/
5 #ifndef __WIDL_UNKNWN_H
6 #define __WIDL_UNKNWN_H
11 #define __WINE_INCLUDE_UNKNWN
12 #include "wine/obj_base.h"
13 #undef __WINE_INCLUDE_UNKNWN
14 #if defined(__cplusplus) && !defined(CINTERFACE)
15 #ifdef ICOM_USE_COM_INTERFACE_ATTRIBUTE
16 #define ICOM_COM_INTERFACE_ATTRIBUTE __attribute__((com_interface))
18 #define ICOM_COM_INTERFACE_ATTRIBUTE
21 #ifdef ICOM_MSVTABLE_COMPAT
22 #define ICOM_MSVTABLE_COMPAT_FIELDS \
25 #define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE 0,0,
27 #define ICOM_MSVTABLE_COMPAT_FIELDS
28 #define ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
31 typedef struct IUnknown IUnknown
;
32 typedef IUnknown
*LPUNKNOWN
;
34 /*****************************************************************************
37 DEFINE_GUID(IID_IUnknown
, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
38 #if defined(__cplusplus) && !defined(CINTERFACE)
41 virtual HRESULT CALLBACK
QueryInterface(
43 void** ppvObject
) = 0;
45 virtual ULONG CALLBACK
AddRef(
48 virtual ULONG CALLBACK
Release(
51 } ICOM_COM_INTERFACE_ATTRIBUTE
;
53 typedef struct IUnknownVtbl IUnknownVtbl
;
55 const IUnknownVtbl
* lpVtbl
;
58 ICOM_MSVTABLE_COMPAT_FIELDS
60 /*** IUnknown methods ***/
61 HRESULT (CALLBACK
*QueryInterface
)(
66 ULONG (CALLBACK
*AddRef
)(
69 ULONG (CALLBACK
*Release
)(
74 #define IUnknown_IMETHODS \
75 ICOM_METHOD2 (HRESULT,QueryInterface,REFIID,riid,void**,ppvObject) \
76 ICOM_METHOD (ULONG,AddRef) \
77 ICOM_METHOD (ULONG,Release)
79 /*** IUnknown methods ***/
80 #define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
81 #define IUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
82 #define IUnknown_Release(p) (p)->lpVtbl->Release(p)
86 HRESULT CALLBACK
IUnknown_QueryInterface_Proxy(
90 void __RPC_STUB
IUnknown_QueryInterface_Stub(
91 struct IRpcStubBuffer
* This
,
92 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
93 PRPC_MESSAGE pRpcMessage
,
95 ULONG CALLBACK
IUnknown_AddRef_Proxy(
97 void __RPC_STUB
IUnknown_AddRef_Stub(
98 struct IRpcStubBuffer
* This
,
99 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
100 PRPC_MESSAGE pRpcMessage
,
101 DWORD
* pdwStubPhase
);
102 ULONG CALLBACK
IUnknown_Release_Proxy(
104 void __RPC_STUB
IUnknown_Release_Stub(
105 struct IRpcStubBuffer
* This
,
106 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
107 PRPC_MESSAGE pRpcMessage
,
108 DWORD
* pdwStubPhase
);
110 typedef struct IClassFactory IClassFactory
;
111 typedef IClassFactory
*LPCLASSFACTORY
;
113 /*****************************************************************************
114 * IClassFactory interface
116 DEFINE_GUID(IID_IClassFactory
, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
117 #if defined(__cplusplus) && !defined(CINTERFACE)
118 struct IClassFactory
: IUnknown
{
120 virtual HRESULT CALLBACK
CreateInstance(
123 void** ppvObject
) = 0;
125 virtual HRESULT CALLBACK
LockServer(
128 } ICOM_COM_INTERFACE_ATTRIBUTE
;
130 typedef struct IClassFactoryVtbl IClassFactoryVtbl
;
131 struct IClassFactory
{
132 const IClassFactoryVtbl
* lpVtbl
;
134 struct IClassFactoryVtbl
{
135 ICOM_MSVTABLE_COMPAT_FIELDS
137 /*** IUnknown methods ***/
138 HRESULT (CALLBACK
*QueryInterface
)(
143 ULONG (CALLBACK
*AddRef
)(
144 IClassFactory
* This
);
146 ULONG (CALLBACK
*Release
)(
147 IClassFactory
* This
);
149 /*** IClassFactory methods ***/
150 HRESULT (CALLBACK
*CreateInstance
)(
156 HRESULT (CALLBACK
*LockServer
)(
162 #define IClassFactory_IMETHODS \
164 ICOM_METHOD3 (HRESULT,CreateInstance,IUnknown*,pUnkOuter,REFIID,riid,void**,ppvObject) \
165 ICOM_METHOD1 (HRESULT,LockServer,BOOL,fLock)
167 /*** IUnknown methods ***/
168 #define IClassFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
169 #define IClassFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
170 #define IClassFactory_Release(p) (p)->lpVtbl->Release(p)
171 /*** IClassFactory methods ***/
172 #define IClassFactory_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
173 #define IClassFactory_LockServer(p,a) (p)->lpVtbl->LockServer(p,a)
177 HRESULT CALLBACK
IClassFactory_RemoteCreateInstance_Proxy(
180 IUnknown
** ppvObject
);
181 void __RPC_STUB
IClassFactory_RemoteCreateInstance_Stub(
182 struct IRpcStubBuffer
* This
,
183 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
184 PRPC_MESSAGE pRpcMessage
,
185 DWORD
* pdwStubPhase
);
186 HRESULT CALLBACK
IClassFactory_CreateInstance_Proxy(
191 HRESULT __RPC_STUB
IClassFactory_CreateInstance_Stub(
194 IUnknown
** ppvObject
);
195 HRESULT CALLBACK
IClassFactory_RemoteLockServer_Proxy(
198 void __RPC_STUB
IClassFactory_RemoteLockServer_Stub(
199 struct IRpcStubBuffer
* This
,
200 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
201 PRPC_MESSAGE pRpcMessage
,
202 DWORD
* pdwStubPhase
);
203 HRESULT CALLBACK
IClassFactory_LockServer_Proxy(
206 HRESULT __RPC_STUB
IClassFactory_LockServer_Stub(
213 #endif /* __WIDL_UNKNWN_H */