Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
[local] WERROR CreateInstance(
[in,unique] MInterfacePointer *pUnknown,
[in,unique] GUID *iid,
[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();
);
[call_as(CreateInstance)] WERROR RemoteCreateInstance();
TALLOC_CTX *mem_ctx,
struct MInterfacePointer *pUnknown,
struct GUID *iid,
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 */
{
struct IStream *ret;
/* FIXME: Check whether IID == ISTREAM_IID */
ret->vtable = &simple_IStream_vtable;
ret->object_data = NULL;
ret->vtable = &simple_IStream_vtable;
ret->object_data = NULL;
- ppv = (struct MInterfacePointer *)ret;
+ *ppv = (struct MInterfacePointer *)ret;
}
/* Run IClassFactory::CreateInstance() */
}
/* 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;
if (!W_ERROR_IS_OK(error)) {
DEBUG(3, ("Error while calling IClassFactory::CreateInstance : %s\n", win_errstr(error)));
return error;
}
/* Release class object */
}
/* Release class object */
- IUnknown_Release(factory, ctx);
+ IUnknown_Release((struct IUnknown *)factory, ctx);