s4:lib:com: Fix function declartions
authorAndreas Schneider <asn@samba.org>
Wed, 26 Jul 2017 16:16:43 +0000 (18:16 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 1 Mar 2018 03:37:40 +0000 (04:37 +0100)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
librpc/idl/dcom.idl
source4/lib/com/classes/simple.c
source4/lib/com/main.c

index e53d7b8f81147029156272cef81cac6dda50b6f4..5559811be38e8a86d4d1672e59a765adc2b71990 100644 (file)
@@ -52,7 +52,7 @@ interface IUnknown
        [local] WERROR CreateInstance(
                [in,unique] MInterfacePointer *pUnknown,
                [in,unique] GUID *iid,
-               [out, iid_is(riid),unique] MInterfacePointer *ppv
+               [out, iid_is(riid),unique] MInterfacePointer **ppv
                );
 
        [call_as(CreateInstance)] WERROR RemoteCreateInstance();
index 4d28a1581021370af9adb6ba87d1987f07e0ddff..54c74ce564b62976e7a97905c63168472de0a181 100644 (file)
@@ -75,7 +75,7 @@ static WERROR simpleclass_IClassFactory_CreateInstance(struct IClassFactory *d,
                                                       TALLOC_CTX *mem_ctx,
                                                       struct MInterfacePointer *pUnknown,
                                                       struct GUID *iid,
-                                                      struct MInterfacePointer *ppv)
+                                                      struct MInterfacePointer **ppv)
 {
        struct IStream *ret;
        /* FIXME: Check whether IID == ISTREAM_IID */
@@ -84,7 +84,7 @@ static WERROR simpleclass_IClassFactory_CreateInstance(struct IClassFactory *d,
        ret->vtable = &simple_IStream_vtable;
        ret->object_data = NULL;
 
-       ppv = (struct MInterfacePointer *)ret;
+       *ppv = (struct MInterfacePointer *)ret;
 
        return WERR_OK;
 }
index 68a3bc6d3d3610ed6c98bdbe6593678634631022..647f32346d97ca528400cd8b9f21db7357b4820c 100644 (file)
@@ -52,7 +52,7 @@ WERROR com_create_object(struct com_context *ctx, struct GUID *clsid, int num_if
        }
 
        /* Run IClassFactory::CreateInstance() */
-       error = IClassFactory_CreateInstance(factory, ctx, NULL, &classfact_iid, (struct MInterfacePointer *&iunk);
+       error = IClassFactory_CreateInstance(factory, ctx, NULL, &classfact_iid, (struct MInterfacePointer **)&iunk);
        if (!W_ERROR_IS_OK(error)) {
                DEBUG(3, ("Error while calling IClassFactory::CreateInstance : %s\n", win_errstr(error)));
                return error;
@@ -64,7 +64,7 @@ WERROR com_create_object(struct com_context *ctx, struct GUID *clsid, int num_if
        }
        
        /* Release class object */
-       IUnknown_Release(factory, ctx);
+       IUnknown_Release((struct IUnknown *)factory, ctx);
        
        error = WERR_OK;