#include "idl_types.h" /** DCOM interfaces http://www.grimes.demon.co.uk/DCOM/DCOMSpec.htm */ #define IPID GUID #define HRESULT uint32 [ uuid(4d9f4ab8-7d1c-11cf-861e-0020af6e7c57), pointer_default(unique) ] interface IRemoteActivation { typedef [public] struct { MInterfacePointer *ppInterfaceData; } ppInterfaceDataArray; typedef [public] struct { DUALSTRINGARRAY *dualstringarray; } REF_DUALSTRINGARRAY; typedef struct { /* Looks very much like a protocol tower to me, but it appears to be aligned differently then it is in epmapper -jelmer */ uint8 FIXME[12]; } floor_tmp; const uint32 MODE_GET_CLASS_OBJECT = 0xffffffff; HRESULT RemoteActivation ( [in] GUID Clsid, [in, unique] unistr *pwszObjectName, [in, unique] MInterfacePointer *pObjectStorage, [in] uint32 ClientImpLevel, [in] uint32 Mode, [in] uint32 Interfaces, [in, unique,size_is(Interfaces)] GUID *pIIDs, [in] uint16 num_protseqs, [in, size_is(num_protseqs)] floor_tmp protseq[], [out] GUID pOxid, [out] DUALSTRINGARRAY *pdsaOxidBindings, [out] IPID ipidRemUnknown, [out] uint32 pAuthnHint, [out] COMVERSION pServerVersion, [out] HRESULT *phr, [out,size_is(Interfaces)] ppInterfaceDataArray *ppInterfaceData, [out,size_is(Interfaces)] HRESULT *pResults ); }