Rémi Bernon (@rbernon) commented about include/dispatcherqueue.idl:
+#ifdef __WIDL__ +#pragma winrt ns_prefix +#endif + +import "windows.system.idl"; + +cpp_quote("#ifdef __cplusplus") +cpp_quote("typedef ABI::Windows::System::IDispatcherQueue *PDISPATCHERQUEUE;") +cpp_quote("typedef ABI::Windows::System::IDispatcherQueueController *PDISPATCHERQUEUECONTROLLER;") +cpp_quote("#else") +namespace Windows.System { + cpp_quote("typedef interface IDispatcherQueue *PDISPATCHERQUEUE;") + cpp_quote("typedef interface IDispatcherQueueController *PDISPATCHERQUEUECONTROLLER;") +} +cpp_quote("#endif") + I don't think this will work, the C typedefs are not written with the namespace-mangled interface but a different forward declared interface.
With this widl fix https://gitlab.winehq.org/rbernon/wine/-/commit/73d264e61081c4e81bce43dde4e8... you should then instead be able to do this, which will be correct: ``` typedef Windows.System.IDispatcherQueue *PDISPATCHERQUEUE; typedef Windows.System.IDispatcherQueueController *PDISPATCHERQUEUECONTROLLER; ``` -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5746#note_71726