On Tue Aug 26 11:59:47 2025 +0000, Vibhav Pant wrote:
Sure, here's what I tried:
void *agile, *unk, *inspectable, *closable; IUnknown_QueryInterface((IUnknown *)type_obj, &IID_IAgileObject, &agile); IUnknown_QueryInterface((IUnknown *)type_obj, &IID_IUnknown, &unk); IUnknown_QueryInterface((IUnknown *)type_obj, &IID_IInspectable, &inspectable); IUnknown_QueryInterface((IUnknown *)type_obj, &IID_IClosable, &closable); ok(agile == unk && unk == inspectable && closable == ((char *)inspectable + sizeof(IInspectable)), "got agile=%p, unk=%p, inspectable=%p, closable=%p\n", agile, unk, inspectable, closable);
Can we get back to initial version of the patch (where there's no separate vtable for IInspectable interface? It's not clear how it will look when RTTI is added. I'm expecting that the macros will need to be completely rewritten and I prefer to keep the code simple for now.