27 Oct
2021
27 Oct
'21
3:12 p.m.
On 10/27/21 10:55 PM, Connor McAdams wrote:
+/* + * When passing the ReservedNotSupportedValue/ReservedMixedAttributeValue + * interface pointers across apartments within the same process, use the + * free threaded marshaler to preserve the pointer value. Wrap the IMarshal + * interface received by CoCreateFreeThreadedMarshaler so that we can maintain + * our own reference count and release the object when it hits 0. + */ +static HRESULT uia_reserved_val_create_ftm(IUnknown *outer, IMarshal **marshaler) I don't understand this part, if every QI for IMarshal returns new instance, why do need a wrapper? And which object do you mean to release, with our own reference count?