The wrong version of this patch was pushed.
The argument to simpleclass_IClassFactory_CreateInstance must be
...**ppv and the value assignment must be *ppv = (...)ret;
This was discussed on the list and the corrected patch was created.
On 2/24/2018 9:51 AM, Andrew Bartlett wrote:
-static WERROR simpleclass_IClassFactory_CreateInstance (struct IClassFactory
*d, TALLOC_CTX *mem_ctx, struct IUnknown *iunk, struct GUID *iid, struct
IUnknown **ppv)
+static WERROR simpleclass_IClassFactory_CreateInstance(struct IClassFactory *d,
+ TALLOC_CTX *mem_ctx,
+ struct MInterfacePointer
*pUnknown,
+ struct GUID *iid,
+ struct MInterfacePointer
*ppv)
{
struct IStream *ret;
/* FIXME: Check whether IID == ISTREAM_IID */
@@ -71,8 +84,8 @@ static WERROR simpleclass_IClassFactory_CreateInstance
(struct IClassFactory *d,
ret->vtable = &simple_IStream_vtable;
ret->object_data = NULL;
- *ppv = (struct IUnknown *)ret;
-
+ ppv = (struct MInterfacePointer *)ret;
+
return WERR_OK;
}