summaryrefslogtreecommitdiff
path: root/source4/librpc/idl/remact.idl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2004-09-28 19:20:00 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:59:27 -0500
commitb79602fab5ad67aaff4492afd90b52e3292c7ef1 (patch)
tree0f90535b7c443472e49b5c11899e33ed40b56ac1 /source4/librpc/idl/remact.idl
parentc567d64d66e1548ef5afc3ba784f8fa8972e3674 (diff)
downloadsamba-b79602fab5ad67aaff4492afd90b52e3292c7ef1.tar.gz
samba-b79602fab5ad67aaff4492afd90b52e3292c7ef1.tar.bz2
samba-b79602fab5ad67aaff4492afd90b52e3292c7ef1.zip
r2735: More DCOM updates:
- Several updates to the interface definitions after reading some more of the specs - Add Remote Activation interface - Add body extension uuids - Add oxidresolve torture test to list - Make pidl complain about object interfaces that don't inherit from IUnknown (This used to be commit 1bb471832830d73f0c7290e2ec12878518598379)
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
+ );
+}