Nikolay Sivov (@nsivov) commented about dlls/combase/tests/roapi.c:
IAgileReference_Release(agile_reference); EXPECT_REF(&unk_obj, 1);
+ /* Test marshaling WinRT interfaces. */ + hr = RoGetActivationFactory(str, &IID_IApiInformationStatics, (void **)&statics); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + agile_reference = NULL; + hr = RoGetAgileReference(option, &IID_IApiInformationStatics, (IUnknown *)statics, &agile_reference); + todo_wine_if(option == AGILEREFERENCE_DEFAULT) + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + todo_wine_if(option == AGILEREFERENCE_DEFAULT) + ok(!!agile_reference, "Got unexpected agile_reference.\n"); + todo_wine_if(option == AGILEREFERENCE_DEFAULT) + EXPECT_REF(statics, 3);
Why do you need to use some winrt object to demonstrate this? Does this fail because CoMarshalInterface() fails for IApiInformationStatics ? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8697#note_111867