1/* 2 * Copyright 2002 Ove Kaaven 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19#ifndef DO_NO_IMPORTS 20import "wtypes.idl"; 21#endif 22 23cpp_quote("#ifdef __WINESRC__") 24cpp_quote("#define WIDL_C_INLINE_WRAPPERS") 25cpp_quote("#endif") 26 27cpp_quote("#ifdef WIDL_C_INLINE_WRAPPERS") 28cpp_quote("#define SAVE_WIDL_C_INLINE_WRAPPERS") 29cpp_quote("#undef WIDL_C_INLINE_WRAPPERS") 30cpp_quote("#endif") 31 32[ 33 local, 34 object, 35 uuid(00000000-0000-0000-C000-000000000046), 36 pointer_default(unique) 37] 38interface IUnknown 39{ 40 typedef [unique] IUnknown *LPUNKNOWN; 41 42 HRESULT QueryInterface( 43 [in] REFIID riid, 44 [out, iid_is(riid)] void **ppvObject); 45 ULONG AddRef(); 46 ULONG Release(); 47} 48 49cpp_quote("HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown* This, REFIID riid, void **ppvObject);") 50cpp_quote("void __RPC_STUB IUnknown_QueryInterface_Stub(IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer,") 51cpp_quote(" PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase);") 52cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown* This);") 53cpp_quote("void __RPC_STUB IUnknown_AddRef_Stub(IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer,") 54cpp_quote(" PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase);") 55cpp_quote("ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown* This);") 56cpp_quote("void __RPC_STUB IUnknown_Release_Stub(IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer,") 57cpp_quote(" PRPC_MESSAGE pRpcMessage, DWORD* pdwStubPhase);") 58 59cpp_quote("#ifdef SAVE_WIDL_C_INLINE_WRAPPERS") 60cpp_quote("#define WIDL_C_INLINE_WRAPPERS") 61cpp_quote("#endif") 62 63[ 64 object, 65 uuid(00000001-0000-0000-C000-000000000046), 66 pointer_default(unique) 67] 68interface IClassFactory : IUnknown 69{ 70 typedef [unique] IClassFactory *LPCLASSFACTORY; 71 72 [local] 73 HRESULT CreateInstance( 74 [in, unique] IUnknown *pUnkOuter, 75 [in] REFIID riid, 76 [out, iid_is(riid)] void **ppvObject); 77 78 [call_as(CreateInstance)] 79 HRESULT RemoteCreateInstance( 80 [in] REFIID riid, 81 [out, iid_is(riid)] IUnknown **ppvObject); 82 83 [local] 84 HRESULT LockServer( 85 [in] BOOL fLock); 86 87 [call_as(LockServer)] 88 HRESULT RemoteLockServer( 89 [in] BOOL fLock); 90} 91