summaryrefslogtreecommitdiffstats
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 0000000..77134e7
--- /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 [v1_enum] 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_object,
+ [out,ref] ORPCTHAT *that,
+ [in] GUID Clsid,
+ [in] [unique,string,charset(UTF16)] uint16 *pwszObjectName,
+ [in] [unique] MInterfacePointer *pObjectStorage,
+ [in] imp_levels ClientImpLevel,
+ [in] uint32 Mode,
+ [in,range(1,32768)] uint32 Interfaces,
+ [in,unique,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] HRESULT *hr,
+ [out,size_is(Interfaces)] MInterfacePointer **ifaces,
+ [out,size_is(Interfaces)] HRESULT results[]
+ );
+}