/* * Copyright 2003 Ove Kåven, TransGaming Technologies * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ /* see the official DCOM specification * (there's a copy at http://www.grimes.demon.co.uk/DCOM/DCOMSpec.htm) */ #pragma makedep proxy #pragma makedep register #include "wine/orpc.idl" [ threading(both), uuid(00000320-0000-0000-c000-000000000046) ] coclass PSFactoryBuffer { interface IFactoryBuffer; } [ object, uuid(00000131-0000-0000-C000-000000000046) ] interface IRemUnknown : IUnknown { typedef [unique] IRemUnknown *LPREMUNKNOWN; typedef struct tagREMQIRESULT { HRESULT hResult; STDOBJREF std; } REMQIRESULT; typedef struct tagREMINTERFACEREF { IPID ipid; unsigned long cPublicRefs; unsigned long cPrivateRefs; } REMINTERFACEREF; HRESULT RemQueryInterface( [in] REFIPID ripid, [in] ULONG cRefs, [in] unsigned short cIids, [in, size_is(cIids)] IID *iids, [out, size_is(,cIids)] REMQIRESULT **ppQIResults); HRESULT RemAddRef( [in] unsigned short cInterfaceRefs, [in, size_is(cInterfaceRefs)] REMINTERFACEREF* InterfaceRefs, [out, size_is(cInterfaceRefs)] HRESULT *pResults); HRESULT RemRelease( [in] unsigned short cInterfaceRefs, [in, size_is(cInterfaceRefs)] REMINTERFACEREF* InterfaceRefs); } [ object, uuid(00000142-0000-0000-C000-000000000046) ] interface IRemUnknown2 : IRemUnknown { typedef [unique] IRemUnknown2 *LPREMUNKNOWN2; HRESULT RemQueryInterface2( [in] REFIPID ripid, [in] unsigned short cIids, [in, size_is(cIids)] IID *iids, [out, size_is(cIids)] HRESULT *phr, [out, size_is(cIids)] MInterfacePointer **ppMIF); } [ uuid(99fcfec4-5260-101b-bbcb-00aa0021347a), pointer_default(unique) ] interface IOXIDResolver { [idempotent] error_status_t ResolveOxid( [in] handle_t hRpc, [in] OXID *pOxid, [in] unsigned short cRequestedProtseqs, [in, ref, size_is(cRequestedProtseqs)] unsigned short arRequestedProtseqs[], [out, ref] DUALSTRINGARRAY **ppdsaOxidBindings, [out, ref] IPID *pipidRemUnknown, [out, ref] DWORD *pAuthnHint); [idempotent] error_status_t SimplePing( [in] handle_t hRpc, [in] SETID *pSetId); [idempotent] error_status_t ComplexPing( [in] handle_t hRpc, [in, out] SETID *pSetId, [in] unsigned short SequenceNum, [in] unsigned short cAddToSet, [in] unsigned short cDelFromSet, [in, unique, size_is(cAddToSet)] OID AddToSet[], [in, unique, size_is(cDelFromSet)] OID DelFromSet[], [out] unsigned short *pPingBackoffFactor); [idempotent] error_status_t ServerAlive( [in] handle_t hRpc); [idempotent] error_status_t ResolveOxid2( [in] handle_t hRpc, [in] OXID *pOxid, [in] unsigned short cRequestedProtseqs, [in, ref, size_is(cRequestedProtseqs)] unsigned short arRequestedProtseqs[], [out, ref] DUALSTRINGARRAY **ppdsaOxidBindings, [out, ref] IPID *pipidRemUnknown, [out, ref] DWORD *pAuthnHint, [out, ref] COMVERSION *pComVersion); } [ uuid(4d9f4ab8-7d1c-11cf-861e-0020af6e7c57), pointer_default(unique) ] interface IRemoteActivation { const unsigned long MODE_GET_CLASS_OBJECT = 0xffffffff; HRESULT RemoteActivation( [in] handle_t hRpc, [in] ORPCTHIS *ORPCthis, [out] ORPCTHAT *ORPCthat, [in] GUID *Clsid, [in, string, unique] WCHAR *pwszObjectName, [in, unique] MInterfacePointer *pObjectStorage, [in] DWORD ClientImpLevel, [in] DWORD Mode, [in] DWORD Interfaces, [in, unique, size_is(Interfaces)] IID *pIIDs, [in] unsigned short cRequestedProtseqs, [in, size_is(cRequestedProtseqs)] unsigned short RequestedProtseqs[], [out] OXID *pOxid, [out] DUALSTRINGARRAY **ppdsaOxidBindings, [out] IPID *pipidRemUnknown, [out] DWORD *pAuthnHint, [out] COMVERSION *pServerVersion, [out] HRESULT *phr, [out,size_is(Interfaces)] MInterfacePointer **ppInterfaceData, [out,size_is(Interfaces)] HRESULT *pResults); }