summaryrefslogtreecommitdiff
path: root/source4/librpc/idl/remact.idl
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc/idl/remact.idl')
-rw-r--r--source4/librpc/idl/remact.idl52
1 files changed, 52 insertions, 0 deletions
diff --git a/source4/librpc/idl/remact.idl b/source4/librpc/idl/remact.idl
new file mode 100644
index 0000000000..02223f0c11
--- /dev/null
+++ b/source4/librpc/idl/remact.idl
@@ -0,0 +1,52 @@
+#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
+ );
+}