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; ```