r5671: Bunch of fixes related to arrays and pointers to arrays.
[samba.git] / source4 / librpc / idl / remact.idl
index 6065d41bcc0a789ea0e2af2e43f08d74ded396ff..ca1b228d4c08abacc0142c9651750f33facd2ae7 100644 (file)
@@ -5,8 +5,6 @@
   http://www.grimes.demon.co.uk/DCOM/DCOMSpec.htm
  */
 
-#define IPID GUID
-
 [
        uuid("4d9f4ab8-7d1c-11cf-861e-0020af6e7c57"),
        pointer_default(unique),
@@ -24,30 +22,26 @@ interface IRemoteActivation
                RPC_C_IMP_LEVEL_DELEGATE = 4
        } imp_levels;
        
-       typedef struct {
-               MInterfacePointer *p;
-       } pMInterfacePointer;
-       
        const uint32 MODE_GET_CLASS_OBJECT = 0xffffffff;
        WERROR RemoteActivation (
                        [in] ORPCTHIS this,
                        [out] ORPCTHAT that,
                        [in] GUID Clsid,
-                       [in, unique] unistr *pwszObjectName,
-                       [in, unique] MInterfacePointer *pObjectStorage,
+                       [in] unistr *pwszObjectName,
+                       [in] MInterfacePointer *pObjectStorage,
                        [in] uint32 ClientImpLevel,
                        [in] uint32 Mode,
                        [in,range(1,32768)] uint32 Interfaces,
-                       [in, unique,size_is(Interfaces)] GUID *pIIDs,
+                       [in,size_is(Interfaces)] GUID *pIIDs[],
                        [in] uint16 num_protseqs,
-                       [in, size_is(num_protseqs)] uint16 protseq[],
-                       [out] HYPER_T pOxid,
+                       [in, size_is(num_protseqs)] uint16 protseq[*],
+                       [out] hyper pOxid,
                        [out] DUALSTRINGARRAY *pdsaOxidBindings,
-                       [out] IPID ipidRemUnknown,
+                       [out] GUID ipidRemUnknown,
                        [out] uint32 AuthnHint,
                        [out] COMVERSION ServerVersion,
                        [out] WERROR hr,
-                       [out,size_is(Interfaces),ref] pMInterfacePointer *ifaces,
+                       [out,size_is(Interfaces)] MInterfacePointer *ifaces[],
                        [out,size_is(Interfaces)] WERROR results[]
                        );
 }