summaryrefslogtreecommitdiff
path: root/librpc/idl/remact.idl
diff options
context:
space:
mode:
Diffstat (limited to 'librpc/idl/remact.idl')
-rw-r--r--librpc/idl/remact.idl46
1 files changed, 46 insertions, 0 deletions
diff --git a/librpc/idl/remact.idl b/librpc/idl/remact.idl
new file mode 100644
index 0000000000..2165ecfc81
--- /dev/null
+++ b/librpc/idl/remact.idl
@@ -0,0 +1,46 @@
+/**
+ DCOM interfaces
+ http://www.grimes.demon.co.uk/DCOM/DCOMSpec.htm
+ */
+
+import "misc.idl", "orpc.idl";
+
+[
+ uuid("4d9f4ab8-7d1c-11cf-861e-0020af6e7c57"),
+ pointer_default(unique),
+ endpoint("ncalrpc:", "ncacn_ip_tcp:[135]", "ncacn_np:[\\pipe\\epmapper]")
+]
+interface IRemoteActivation
+{
+ typedef enum
+ {
+ RPC_C_IMP_LEVEL_DEFAULT = 0,
+ RPC_C_IMP_LEVEL_ANONYMOUS = 1,
+ RPC_C_IMP_LEVEL_IDENTIFY = 2,
+ RPC_C_IMP_LEVEL_IMPERSONATE = 3,
+ RPC_C_IMP_LEVEL_DELEGATE = 4
+ } imp_levels;
+
+ const uint32 MODE_GET_CLASS_OBJECT = 0xffffffff;
+ WERROR RemoteActivation (
+ [in] ORPCTHIS this,
+ [out,ref] ORPCTHAT *that,
+ [in] GUID Clsid,
+ [in] [string,charset(UTF16)] uint16 *pwszObjectName,
+ [in] MInterfacePointer *pObjectStorage,
+ [in] uint32 ClientImpLevel,
+ [in] uint32 Mode,
+ [in,range(1,32768)] uint32 Interfaces,
+ [in,size_is(Interfaces)] GUID *pIIDs,
+ [in] uint16 num_protseqs,
+ [in, size_is(num_protseqs)] uint16 protseq[*],
+ [out,ref] hyper *pOxid,
+ [out,ref] DUALSTRINGARRAY *pdsaOxidBindings,
+ [out,ref] GUID *ipidRemUnknown,
+ [out,ref] uint32 *AuthnHint,
+ [out,ref] COMVERSION *ServerVersion,
+ [out,ref] WERROR *hr,
+ [out,size_is(Interfaces)] MInterfacePointer *ifaces[],
+ [out,size_is(Interfaces)] WERROR results[]
+ );
+}