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 CALLBACK QueryInterface(
40 void** ppvObject) = 0;
42 virtual ULONG CALLBACK AddRef(
45 virtual ULONG CALLBACK 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 (CALLBACK *QueryInterface)(
63 ULONG (CALLBACK *AddRef)(
66 ULONG (CALLBACK *Release)(
71 #define IUnknown_IMETHODS \
72 ICOM_METHOD2 (HRESULT,QueryInterface,REFIID,riid,void**,ppvObject) \
73 ICOM_METHOD (ULONG,AddRef) \
74 ICOM_METHOD (ULONG,Release)
76 /*** IUnknown methods ***/
77 #define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
78 #define IUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
79 #define IUnknown_Release(p) (p)->lpVtbl->Release(p)
83 HRESULT CALLBACK IUnknown_QueryInterface_Proxy(
87 void __RPC_STUB IUnknown_QueryInterface_Stub(
88 struct IRpcStubBuffer* This,
89 struct IRpcChannelBuffer* pRpcChannelBuffer,
90 PRPC_MESSAGE pRpcMessage,
92 ULONG CALLBACK IUnknown_AddRef_Proxy(
94 void __RPC_STUB IUnknown_AddRef_Stub(
95 struct IRpcStubBuffer* This,
96 struct IRpcChannelBuffer* pRpcChannelBuffer,
97 PRPC_MESSAGE pRpcMessage,
99 ULONG CALLBACK IUnknown_Release_Proxy(
101 void __RPC_STUB IUnknown_Release_Stub(
102 struct IRpcStubBuffer* This,
103 struct IRpcChannelBuffer* pRpcChannelBuffer,
104 PRPC_MESSAGE pRpcMessage,
105 DWORD* pdwStubPhase);
107 typedef struct IClassFactory IClassFactory;
108 typedef IClassFactory *LPCLASSFACTORY;
110 /*****************************************************************************
111 * IClassFactory interface
113 DEFINE_GUID(IID_IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
114 #if defined(__cplusplus) && !defined(CINTERFACE)
115 struct IClassFactory: IUnknown {
117 virtual HRESULT CALLBACK CreateInstance(
120 void** ppvObject) = 0;
122 virtual HRESULT CALLBACK LockServer(
125 } ICOM_COM_INTERFACE_ATTRIBUTE;
127 typedef struct IClassFactoryVtbl IClassFactoryVtbl;
128 struct IClassFactory {
129 const IClassFactoryVtbl* lpVtbl;
131 struct IClassFactoryVtbl {
132 ICOM_MSVTABLE_COMPAT_FIELDS
134 /*** IUnknown methods ***/
135 HRESULT (CALLBACK *QueryInterface)(
140 ULONG (CALLBACK *AddRef)(
141 IClassFactory* This);
143 ULONG (CALLBACK *Release)(
144 IClassFactory* This);
146 /*** IClassFactory methods ***/
147 HRESULT (CALLBACK *CreateInstance)(
153 HRESULT (CALLBACK *LockServer)(
159 #define IClassFactory_IMETHODS \
161 ICOM_METHOD3 (HRESULT,CreateInstance,IUnknown*,pUnkOuter,REFIID,riid,void**,ppvObject) \
162 ICOM_METHOD1 (HRESULT,LockServer,BOOL,fLock)
164 /*** IUnknown methods ***/
165 #define IClassFactory_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
166 #define IClassFactory_AddRef(p) (p)->lpVtbl->AddRef(p)
167 #define IClassFactory_Release(p) (p)->lpVtbl->Release(p)
168 /*** IClassFactory methods ***/
169 #define IClassFactory_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
170 #define IClassFactory_LockServer(p,a) (p)->lpVtbl->LockServer(p,a)
174 HRESULT CALLBACK IClassFactory_RemoteCreateInstance_Proxy(
177 IUnknown** ppvObject);
178 void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub(
179 struct IRpcStubBuffer* This,
180 struct IRpcChannelBuffer* pRpcChannelBuffer,
181 PRPC_MESSAGE pRpcMessage,
182 DWORD* pdwStubPhase);
183 HRESULT CALLBACK IClassFactory_CreateInstance_Proxy(
188 HRESULT __RPC_STUB IClassFactory_CreateInstance_Stub(
191 IUnknown** ppvObject);
192 HRESULT CALLBACK IClassFactory_RemoteLockServer_Proxy(
195 void __RPC_STUB IClassFactory_RemoteLockServer_Stub(
196 struct IRpcStubBuffer* This,
197 struct IRpcChannelBuffer* pRpcChannelBuffer,
198 PRPC_MESSAGE pRpcMessage,
199 DWORD* pdwStubPhase);
200 HRESULT CALLBACK IClassFactory_LockServer_Proxy(
203 HRESULT __RPC_STUB IClassFactory_LockServer_Stub(
210 #endif /* __WIDL_UNKNWN_H */