dcom.idl
Ove Kaaven
ovek at arcticnet.no
Wed May 21 16:47:59 CDT 2003
Here's the dcom.idl and generated .h I've used for my interapartment COM
marshalling stuff, to be placed in dlls/ole32. It's obviously needed by
all the rest of my stuff, so I'll let this get installed first, with
whatever makefile rules are desired.
Log:
Ove Kaaven <ovek at transgaming.com>
DCOM IDL file based on the DCOM specification.
--- /dev/null 2003-01-10 01:23:22.000000000 +0100
+++ dlls/ole32/dcom.idl 2002-12-06 11:46:56.000000000 +0100
@@ -0,0 +1,274 @@
+/* see http://www.microsoft.com/msj/0398/dcom.htm */
+/* and the official DCOM specification
+ * (there's a copy at http://www.grimes.demon.co.uk/DCOM/DCOMSpec.htm) */
+
+import "unknwn.idl";
+
+[
+ uuid(99fcfe60-5260-101b-bbcb-00aa0021347a),
+ pointer_default(unique)
+]
+interface ObjectRpcBaseTypes
+{
+ typedef unsigned hyper ID;
+ typedef ID MID;
+ typedef ID OXID;
+ typedef ID OID;
+ typedef ID SETID;
+ typedef GUID IPID;
+ typedef GUID CID;
+ typedef REFGUID REFIPID;
+
+ const unsigned short COM_MINOR_VERSION_1 = 1;
+ const unsigned short COM_MINOR_VERSION_2 = 2;
+
+ const unsigned short COM_MAJOR_VERSION = 5;
+ const unsigned short COM_MINOR_VERSION = 3;
+
+ typedef struct tagCOMVERSION {
+ unsigned short MajorVersion;
+ unsigned short MinorVersion;
+ } COMVERSION;
+
+ const unsigned long ORPCF_NULL = 0;
+ const unsigned long ORPCF_LOCAL = 1;
+ const unsigned long ORPCF_RESERVED1 = 2;
+ const unsigned long ORPCF_RESERVED2 = 4;
+ const unsigned long ORPCF_RESERVED3 = 8;
+ const unsigned long ORPCF_RESERVED4 = 16;
+
+ typedef struct tagORPC_EXTENT {
+ GUID id;
+ unsigned long size;
+ [size_is((size+7)&~7)] byte data[];
+ } ORPC_EXTENT;
+
+ typedef struct tagORPC_EXTENT_ARRAY {
+ unsigned long size;
+ unsigned long reserved;
+ [size_is((size+1)&~1,), unique] ORPC_EXTENT **extent;
+ } ORPC_EXTENT_ARRAY;
+
+ typedef struct tagORPCTHIS {
+ COMVERSION version;
+ unsigned long flags;
+ unsigned long reserved1;
+ CID cid;
+ [unique] ORPC_EXTENT_ARRAY *extensions;
+ } ORPCTHIS;
+
+ typedef struct tagORPCTHAT {
+ unsigned long flags;
+ [unique] ORPC_EXTENT_ARRAY *extensions;
+ } ORPCTHAT;
+
+ const unsigned short NCADG_IP_UDP = 0x08;
+ const unsigned short NCACN_IP_TCP = 0x07;
+ const unsigned short NCADG_IPX = 0x0E;
+ const unsigned short NCACN_SPX = 0x0C;
+ const unsigned short NCACN_NB_NB = 0x12;
+ const unsigned short NCACN_NB_IPX = 0x0D;
+ const unsigned short NCACN_DNET_NSP = 0x04;
+ const unsigned short NCACN_HTTP = 0x1F;
+
+ typedef struct tagSTRINGBINDING {
+ unsigned short wTowerId;
+ [string] unsigned short aNetworkAddr[];
+ } STRINGBINDING;
+
+ const unsigned short COM_C_AUTHZ_NONE = 0xffff;
+
+ typedef struct tagSECURITYBINDING {
+ unsigned short wAuthnSvc;
+ unsigned short wAuthzSvc;
+ [string] unsigned short aPrincName[];
+ } SECURITYBINDING;
+
+ typedef struct tagDUALSTRINGARRAY {
+ unsigned short wNumEntries;
+ unsigned short wSecurityOffset;
+ [size_is(wNumEntries)] unsigned short aStringArray[];
+ } DUALSTRINGARRAY;
+
+ const unsigned long OBJREF_SIGNATURE = 0x574f454d; /* "MEOW" */
+ const unsigned long OBJREF_STANDARD = 0x1;
+ const unsigned long OBJREF_HANDLER = 0x2;
+ const unsigned long OBJREF_CUSTOM = 0x4;
+ const unsigned long SORF_OXRES1 = 0x1;
+ const unsigned long SORF_OXRES2 = 0x20;
+ const unsigned long SORF_OXRES3 = 0x40;
+ const unsigned long SORF_OXRES4 = 0x80;
+ const unsigned long SORF_OXRES5 = 0x100;
+ const unsigned long SORF_OXRES6 = 0x200;
+ const unsigned long SORF_OXRES7 = 0x400;
+ const unsigned long SORF_OXRES8 = 0x800;
+ const unsigned long SORF_NULL = 0x0;
+ const unsigned long SORF_NOPING = 0x1000;
+
+ typedef struct tagSTDOBJREF {
+ unsigned long flags;
+ unsigned long cPublicRefs;
+ OXID oxid;
+ OID oid;
+ IPID ipid;
+ } STDOBJREF;
+
+ typedef struct tagOBJREF {
+ unsigned long signature;
+ unsigned long flags;
+ GUID iid;
+ [switch_is(flags)] union {
+ [case(OBJREF_STANDARD)] struct OR_STANDARD {
+ STDOBJREF std;
+ DUALSTRINGARRAY saResAddr;
+ } u_standard;
+ [case(OBJREF_HANDLER)] struct OR_HANDLER {
+ STDOBJREF std;
+ CLSID clsid;
+ DUALSTRINGARRAY saResAddr;
+ } u_handler;
+ [case(OBJREF_CUSTOM)] struct OR_CUSTOM {
+ CLSID clsid;
+ unsigned long cbExtension;
+ unsigned long size;
+ [size_is(size), ref] byte *pData;
+ } u_custom;
+ } u_objref;
+ } OBJREF;
+
+ typedef struct tagMInterfacePointer {
+ ULONG ulCntData;
+ [size_is(ulCntData)] BYTE abData[];
+ } MInterfacePointer;
+
+ typedef [unique] MInterfacePointer *PMInterfacePointer;
+
+} /* interface ObjectRpcBaseTypes */
+
+[
+ 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] unsigned long 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);
+}
+
+cpp_quote("#if 0")
+[
+ 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);
+}
+cpp_quote("#endif")
--- /dev/null 2003-01-10 01:23:22.000000000 +0100
+++ dlls/ole32/dcom.h 2002-12-06 11:47:03.000000000 +0100
@@ -0,0 +1,358 @@
+/*** Autogenerated by WIDL 0.1 from dcom.idl - Do not edit ***/
+#ifndef __WIDL_DCOM_H
+#define __WIDL_DCOM_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include "unknwn.h"
+typedef MIDL_uhyper ID;
+
+typedef ID MID;
+
+typedef ID OXID;
+
+typedef ID OID;
+
+typedef ID SETID;
+
+typedef GUID IPID;
+
+typedef GUID CID;
+
+typedef REFGUID REFIPID;
+
+#define COM_MINOR_VERSION_1 (1)
+
+#define COM_MINOR_VERSION_2 (2)
+
+#define COM_MAJOR_VERSION (5)
+
+#define COM_MINOR_VERSION (3)
+
+typedef struct tagCOMVERSION {
+ unsigned short MajorVersion;
+ unsigned short MinorVersion;
+} COMVERSION;
+
+#define ORPCF_NULL (0)
+
+#define ORPCF_LOCAL (1)
+
+#define ORPCF_RESERVED1 (2)
+
+#define ORPCF_RESERVED2 (4)
+
+#define ORPCF_RESERVED3 (8)
+
+#define ORPCF_RESERVED4 (16)
+
+typedef struct tagORPC_EXTENT {
+ GUID id;
+ unsigned long size;
+ byte data[1];
+} ORPC_EXTENT;
+
+typedef struct tagORPC_EXTENT_ARRAY {
+ unsigned long size;
+ unsigned long reserved;
+ ORPC_EXTENT **extent;
+} ORPC_EXTENT_ARRAY;
+
+typedef struct tagORPCTHIS {
+ COMVERSION version;
+ unsigned long flags;
+ unsigned long reserved1;
+ CID cid;
+ ORPC_EXTENT_ARRAY *extensions;
+} ORPCTHIS;
+
+typedef struct tagORPCTHAT {
+ unsigned long flags;
+ ORPC_EXTENT_ARRAY *extensions;
+} ORPCTHAT;
+
+#define NCADG_IP_UDP (0x8)
+
+#define NCACN_IP_TCP (0x7)
+
+#define NCADG_IPX (0xe)
+
+#define NCACN_SPX (0xc)
+
+#define NCACN_NB_NB (0x12)
+
+#define NCACN_NB_IPX (0xd)
+
+#define NCACN_DNET_NSP (0x4)
+
+#define NCACN_HTTP (0x1f)
+
+typedef struct tagSTRINGBINDING {
+ unsigned short wTowerId;
+ unsigned short aNetworkAddr[1];
+} STRINGBINDING;
+
+#define COM_C_AUTHZ_NONE (0xffff)
+
+typedef struct tagSECURITYBINDING {
+ unsigned short wAuthnSvc;
+ unsigned short wAuthzSvc;
+ unsigned short aPrincName[1];
+} SECURITYBINDING;
+
+typedef struct tagDUALSTRINGARRAY {
+ unsigned short wNumEntries;
+ unsigned short wSecurityOffset;
+ unsigned short aStringArray[1];
+} DUALSTRINGARRAY;
+
+#define OBJREF_SIGNATURE (0x574f454d)
+
+#define OBJREF_STANDARD (0x1)
+
+#define OBJREF_HANDLER (0x2)
+
+#define OBJREF_CUSTOM (0x4)
+
+#define SORF_OXRES1 (0x1)
+
+#define SORF_OXRES2 (0x20)
+
+#define SORF_OXRES3 (0x40)
+
+#define SORF_OXRES4 (0x80)
+
+#define SORF_OXRES5 (0x100)
+
+#define SORF_OXRES6 (0x200)
+
+#define SORF_OXRES7 (0x400)
+
+#define SORF_OXRES8 (0x800)
+
+#define SORF_NULL (0x0)
+
+#define SORF_NOPING (0x1000)
+
+typedef struct tagSTDOBJREF {
+ unsigned long flags;
+ unsigned long cPublicRefs;
+ OXID oxid;
+ OID oid;
+ IPID ipid;
+} STDOBJREF;
+
+typedef struct tagOBJREF {
+ unsigned long signature;
+ unsigned long flags;
+ GUID iid;
+ union {
+ struct OR_STANDARD {
+ STDOBJREF std;
+ DUALSTRINGARRAY saResAddr;
+ } u_standard;
+ struct OR_HANDLER {
+ STDOBJREF std;
+ CLSID clsid;
+ DUALSTRINGARRAY saResAddr;
+ } u_handler;
+ struct OR_CUSTOM {
+ CLSID clsid;
+ unsigned long cbExtension;
+ unsigned long size;
+ byte *pData;
+ } u_custom;
+ } u_objref;
+} OBJREF;
+
+typedef struct tagMInterfacePointer {
+ ULONG ulCntData;
+ BYTE abData[1];
+} MInterfacePointer;
+
+typedef MInterfacePointer *PMInterfacePointer;
+
+typedef struct IRemUnknown IRemUnknown;
+typedef IRemUnknown *LPREMUNKNOWN;
+
+typedef struct tagREMQIRESULT {
+ HRESULT hResult;
+ STDOBJREF std;
+} REMQIRESULT;
+
+typedef struct tagREMINTERFACEREF {
+ IPID ipid;
+ unsigned long cPublicRefs;
+ unsigned long cPrivateRefs;
+} REMINTERFACEREF;
+
+/*****************************************************************************
+ * IRemUnknown interface
+ */
+DEFINE_GUID(IID_IRemUnknown, 0x00000131, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
+#define ICOM_INTERFACE IRemUnknown
+#define IRemUnknown_METHODS \
+ ICOM_METHOD5 (HRESULT,RemQueryInterface,REFIPID,ripid,unsigned long,cRefs,unsigned short,cIids,IID*,iids,REMQIRESULT**,ppQIResults) \
+ ICOM_METHOD3 (HRESULT,RemAddRef,unsigned short,cInterfaceRefs,REMINTERFACEREF*,InterfaceRefs,HRESULT*,pResults) \
+ ICOM_METHOD2 (HRESULT,RemRelease,unsigned short,cInterfaceRefs,REMINTERFACEREF*,InterfaceRefs)
+#define IRemUnknown_IMETHODS \
+ IUnknown_IMETHODS \
+ IRemUnknown_METHODS
+ICOM_DEFINE(IRemUnknown,IUnknown)
+#undef ICOM_INTERFACE
+
+/*** IUnknown methods ***/
+#define IRemUnknown_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
+#define IRemUnknown_AddRef(p) ICOM_CALL(AddRef,p)
+#define IRemUnknown_Release(p) ICOM_CALL(Release,p)
+/*** IRemUnknown methods ***/
+#define IRemUnknown_RemQueryInterface(p,a,b,c,d,e) ICOM_CALL5(RemQueryInterface,p,a,b,c,d,e)
+#define IRemUnknown_RemAddRef(p,a,b,c) ICOM_CALL3(RemAddRef,p,a,b,c)
+#define IRemUnknown_RemRelease(p,a,b) ICOM_CALL2(RemRelease,p,a,b)
+
+HRESULT CALLBACK IRemUnknown_RemQueryInterface_Proxy(
+ IRemUnknown* This,
+ REFIPID ripid,
+ unsigned long cRefs,
+ unsigned short cIids,
+ IID* iids,
+ REMQIRESULT** ppQIResults);
+void __RPC_STUB IRemUnknown_RemQueryInterface_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IRemUnknown_RemAddRef_Proxy(
+ IRemUnknown* This,
+ unsigned short cInterfaceRefs,
+ REMINTERFACEREF* InterfaceRefs,
+ HRESULT* pResults);
+void __RPC_STUB IRemUnknown_RemAddRef_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+HRESULT CALLBACK IRemUnknown_RemRelease_Proxy(
+ IRemUnknown* This,
+ unsigned short cInterfaceRefs,
+ REMINTERFACEREF* InterfaceRefs);
+void __RPC_STUB IRemUnknown_RemRelease_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+typedef struct IRemUnknown2 IRemUnknown2;
+typedef IRemUnknown2 *LPREMUNKNOWN2;
+
+/*****************************************************************************
+ * IRemUnknown2 interface
+ */
+DEFINE_GUID(IID_IRemUnknown2, 0x00000142, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
+#define ICOM_INTERFACE IRemUnknown2
+#define IRemUnknown2_METHODS \
+ ICOM_METHOD5 (HRESULT,RemQueryInterface2,REFIPID,ripid,unsigned short,cIids,IID*,iids,HRESULT*,phr,MInterfacePointer**,ppMIF)
+#define IRemUnknown2_IMETHODS \
+ IRemUnknown_IMETHODS \
+ IRemUnknown2_METHODS
+ICOM_DEFINE(IRemUnknown2,IRemUnknown)
+#undef ICOM_INTERFACE
+
+/*** IUnknown methods ***/
+#define IRemUnknown2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
+#define IRemUnknown2_AddRef(p) ICOM_CALL(AddRef,p)
+#define IRemUnknown2_Release(p) ICOM_CALL(Release,p)
+/*** IRemUnknown methods ***/
+#define IRemUnknown2_RemQueryInterface(p,a,b,c,d,e) ICOM_CALL5(RemQueryInterface,p,a,b,c,d,e)
+#define IRemUnknown2_RemAddRef(p,a,b,c) ICOM_CALL3(RemAddRef,p,a,b,c)
+#define IRemUnknown2_RemRelease(p,a,b) ICOM_CALL2(RemRelease,p,a,b)
+/*** IRemUnknown2 methods ***/
+#define IRemUnknown2_RemQueryInterface2(p,a,b,c,d,e) ICOM_CALL5(RemQueryInterface2,p,a,b,c,d,e)
+
+HRESULT CALLBACK IRemUnknown2_RemQueryInterface2_Proxy(
+ IRemUnknown2* This,
+ REFIPID ripid,
+ unsigned short cIids,
+ IID* iids,
+ HRESULT* phr,
+ MInterfacePointer** ppMIF);
+void __RPC_STUB IRemUnknown2_RemQueryInterface2_Stub(
+ struct IRpcStubBuffer* This,
+ struct IRpcChannelBuffer* pRpcChannelBuffer,
+ PRPC_MESSAGE pRpcMessage,
+ DWORD* pdwStubPhase);
+
+#if 0
+/*****************************************************************************
+ * IOXIDResolver interface (v0.0)
+ */
+DEFINE_GUID(IID_IOXIDResolver, 0x99fcfec4, 0x5260, 0x101b, 0xbb,0xcb, 0x00,0xaa,0x00,0x21,0x34,0x7a);
+extern RPC_IF_HANDLE IOXIDResolver_v0_0_c_ifspec;
+extern RPC_IF_HANDLE IOXIDResolver_v0_0_s_ifspec;
+error_status_t ResolveOxid(
+ handle_t hRpc,
+ OXID* pOxid,
+ unsigned short cRequestedProtseqs,
+ unsigned short arRequestedProtseqs,
+ DUALSTRINGARRAY** ppdsaOxidBindings,
+ IPID* pipidRemUnknown,
+ DWORD* pAuthnHint);
+error_status_t SimplePing(
+ handle_t hRpc,
+ SETID* pSetId);
+error_status_t ComplexPing(
+ handle_t hRpc,
+ SETID* pSetId,
+ unsigned short SequenceNum,
+ unsigned short cAddToSet,
+ unsigned short cDelFromSet,
+ OID AddToSet,
+ OID DelFromSet,
+ unsigned short* pPingBackoffFactor);
+error_status_t ServerAlive(
+ handle_t hRpc);
+error_status_t ResolveOxid2(
+ handle_t hRpc,
+ OXID* pOxid,
+ unsigned short cRequestedProtseqs,
+ unsigned short arRequestedProtseqs,
+ DUALSTRINGARRAY** ppdsaOxidBindings,
+ IPID* pipidRemUnknown,
+ DWORD* pAuthnHint,
+ COMVERSION* pComVersion);
+
+#define MODE_GET_CLASS_OBJECT (0x7fffffff)
+
+/*****************************************************************************
+ * IRemoteActivation interface (v0.0)
+ */
+DEFINE_GUID(IID_IRemoteActivation, 0x4d9f4ab8, 0x7d1c, 0x11cf, 0x86,0x1e, 0x00,0x20,0xaf,0x6e,0x7c,0x57);
+extern RPC_IF_HANDLE IRemoteActivation_v0_0_c_ifspec;
+extern RPC_IF_HANDLE IRemoteActivation_v0_0_s_ifspec;
+HRESULT RemoteActivation(
+ handle_t hRpc,
+ ORPCTHIS* ORPCthis,
+ ORPCTHAT* ORPCthat,
+ GUID* Clsid,
+ WCHAR* pwszObjectName,
+ MInterfacePointer* pObjectStorage,
+ DWORD ClientImpLevel,
+ DWORD Mode,
+ DWORD Interfaces,
+ IID* pIIDs,
+ unsigned short cRequestedProtseqs,
+ unsigned short RequestedProtseqs,
+ OXID* pOxid,
+ DUALSTRINGARRAY** ppdsaOxidBindings,
+ IPID* pipidRemUnknown,
+ DWORD* pAuthnHint,
+ COMVERSION* pServerVersion,
+ HRESULT* phr,
+ MInterfacePointer** ppInterfaceData,
+ HRESULT* pResults);
+
+#endif
+#ifdef __cplusplus
+}
+#endif
+#endif /* __WIDL_DCOM_H */
More information about the wine-patches
mailing list