Rémi Bernon (@rbernon) commented about dlls/threadpoolwinrt/main.c:
+{
- struct async_action *action = impl_from_IAsyncInfo(iface);
- return IAsyncAction_GetIids(&action->IAsyncAction_iface, iid_count, iids);
+}
+static HRESULT STDMETHODCALLTYPE async_info_GetRuntimeClassName(IAsyncInfo *iface, HSTRING *class_name) +{
- struct async_action *action = impl_from_IAsyncInfo(iface);
- return IAsyncAction_GetRuntimeClassName(&action->IAsyncAction_iface, class_name);
+}
+static HRESULT STDMETHODCALLTYPE async_info_GetTrustLevel(IAsyncInfo *iface, TrustLevel *trust_level) +{
- struct async_action *action = impl_from_IAsyncInfo(iface);
- return IAsyncAction_GetTrustLevel(&action->IAsyncAction_iface, trust_level);
+}
FWIW there's a DECLARE_IINSPECTABLE macro in the other modules to help here. Otherwise you'll have to do that for every non-default interface, because WinRT doesn't use inheritance.