The build failure comes from `CreateDispatcherQueueController` taking a 12 byte struct as its first parameter by value.
This needs 16 bytes on the stack, and the i386 stdcall export is supposed to be `CreateDispatcherQueueController@16` but with `(long ptr)` it ends up being `CreateDispatcherQueueController@8`.
I don't know the proper fix for this, there are multiple options:
1) Not build the module for win32, assuming it's not available on Windows, (something like `enable_coremessaging=${enable_coremessaging:-aarch64,x86_64}` in `configure.ac` near `dnl *** Check for modules to disable by default`)
2) Use `@ stdcall CreateDispatcherQueueController(int128)` in the .spec, it's not exactly correct but it matches the stack size. I think the arguments are only needed for relay so that's maybe fine?
3) Keep it stub on 32bit, something like: ``` @ stdcall -arch=win64 CreateDispatcherQueueController(int128 ptr) @ stub -arch=win32 CreateDispatcherQueueController() ```