Huw Davies (@huw) commented about dlls/combase/marshal.c:
hr = get_unmarshaler_from_stream(stream, &marshal, &iid); if (hr == S_FALSE) {
hr = std_unmarshal_interface(0, NULL, stream, &iid, (void **)&object);
hr = std_unmarshal_interface(0, NULL, stream, &iid, (void **)&object, FALSE);
Could we not call `ipid_get_dest_context()` here so that we can pass the correct context to `std_unmarshal_interface()` without the need for the additional final arg?