summaryrefslogtreecommitdiff
path: root/source4/librpc/idl/dcom.idl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2004-11-10 21:20:51 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:05:43 -0500
commit0d696dc0e9867889fe198e61ed576af51ee732d1 (patch)
treec41461d05cdfb72d62cabef049c364f4e5fef128 /source4/librpc/idl/dcom.idl
parentf847f3a3e13d2d96f9b74a398047d84b4ad78127 (diff)
downloadsamba-0d696dc0e9867889fe198e61ed576af51ee732d1.tar.gz
samba-0d696dc0e9867889fe198e61ed576af51ee732d1.tar.bz2
samba-0d696dc0e9867889fe198e61ed576af51ee732d1.zip
r3667: Small COM fixes
(This used to be commit 7484b9be7423ccd7e37432951700939e8a53d513)
Diffstat (limited to 'source4/librpc/idl/dcom.idl')
-rw-r--r--source4/librpc/idl/dcom.idl23
1 files changed, 12 insertions, 11 deletions
diff --git a/source4/librpc/idl/dcom.idl b/source4/librpc/idl/dcom.idl
index 165d47473a..b1295315d8 100644
--- a/source4/librpc/idl/dcom.idl
+++ b/source4/librpc/idl/dcom.idl
@@ -57,14 +57,13 @@ interface ObjectRpcBaseTypes
} COMVERSION;
/* enumeration of additional information present in the call packet. */
- /* Should be an enum but DCE IDL does not support sparse enumerators. */
typedef enum {
- ORPCF_NULL = 0, /* no additional info in packet */
- ORPCF_LOCAL = 1, /* call is local to this machine */
- ORPCF_RESERVED1 = 2, /* reserved for local use */
- ORPCF_RESERVED2 = 4, /* reserved for local use */
- ORPCF_RESERVED3 = 8, /* reserved for local use */
- ORPCF_RESERVED4 = 16 /* reserved for local use */
+ ORPCF_NULL = 0x00, /* no additional info in packet */
+ ORPCF_LOCAL = 0x01, /* call is local to this machine */
+ ORPCF_RESERVED1 = 0x02, /* reserved for local use */
+ ORPCF_RESERVED2 = 0x04, /* reserved for local use */
+ ORPCF_RESERVED3 = 0x08, /* reserved for local use */
+ ORPCF_RESERVED4 = 0x10 /* reserved for local use */
} ORPC_FLAGS;
/* Extension to implicit parameters. */
@@ -127,7 +126,9 @@ interface ObjectRpcBaseTypes
} SECURITYBINDING;
/* signature value for OBJREF (object reference, actually the */
- /* marshaled form of a COM interface). */
+ /* marshaled form of a COM interface).
+ * MEOW apparently stands for "Microsoft Extended Object Wireformat"
+ */
const uint32 OBJREF_SIGNATURE = 0x574f454d; /* 'MEOW' */
/* flag values for OBJREF */
@@ -198,7 +199,7 @@ interface ObjectRpcBaseTypes
} OBJREF_Types;
/* OBJREF is the format of a marshaled interface pointer. */
- typedef [public] struct
+ typedef [public,flag(NDR_LITTLE_ENDIAN)] struct
{
uint32 signature;
uint32 flags; /* OBJREF flags (see above) */
@@ -245,7 +246,7 @@ interface IUnknown
pointer_default(unique)
] interface IClassFactory : IUnknown
{
- [local] WERROR CreateInstance(/*FIXME[in] IUnknown *pUnknown*/,
+ [local] WERROR IClassFactory_CreateInstance([in] MInterfacePointer *pUnknown,
[in] GUID *iid,
[out, iid_is(riid)] MInterfacePointer *ppv);
@@ -253,7 +254,7 @@ interface IUnknown
/* Set lock to TRUE when you want to do a lock
and set it to FALSE when you want to unlock */
- [local] WERROR LockServer([in] uint8 lock);
+ [local] WERROR IClassFactory_LockServer([in] uint8 lock);
[call_as(LockServer)] WERROR RemoteLockServer();
}