A much cleaner result (written by hand) that we can reuse where needed later (_i.e._ `GetNumaProcessorNode` which also crashes with [a similar MAV](https://gist.github.com/wasertech/f894ce8d6250e72a01a861c0e4eb6064) on multi-node systems).
Took me a while to understand where I should put everything, not even sure I got it right. Let me know.
I thought I was going to need `FileNumaNodeInformation` but turns out it's not really needed. I can remove it if you want.
This is what I see when I try to get a node count read:
```log
0024:fixme:ntdll:init_numa_info node affinity; using node 0.
GetNumaHighestNodeNumber: 1
```
I only see this fixme if I try to access `FILE_NUMA_NODE_INFORMATION`. I would really prefer such a behavior for our compatibility layer on any multi-node system.
A big thanks to @besentv and @zfigura for their invaluable feedback on this.
--
v8: ntdll: improve error handling in NtQuerySystemInformationEx
https://gitlab.winehq.org/wine/wine/-/merge_requests/8995
This patchset is just to correct the parameter passed to ShowWindow.
--
v2: wordpad: Correct show parameter passed to ShowWindow
cryptui: Correct show parameter passed to ShowWindow
comdlg32: Correct show parameter passed to ShowWindow
https://gitlab.winehq.org/wine/wine/-/merge_requests/9005
Giving this one final shot. If this is not deemed acceptable, I will abandon the effort and just move on to other things, no hard feelings.
This is IMO a cleaner, more conservative/less invasive change.
What is fixed:
- Bug #56381, "TYPE c:\windows\winhelp.exe >foo", i.e. binary mode operation. I would probably consider this the main reason for this change. I'm trying to get the compiler mentioned in the bug report working.
- Ctrl-Z termination of TYPE output to the console.
- "TYPE con >foo", with Ctrl-Z handling, functionally equivalent to "COPY con foo".
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56381
--
v9: cmd: Fix TYPE behavior (now uses WCMD_copy_loop)(Wine-Bug: #56381).
https://gitlab.winehq.org/wine/wine/-/merge_requests/8920
This MR introduces a few minor changes to widl to support generating proxy code for WinRT's parameterized interfaces:
* Use the mangled, C-friendly interface name for naming variables `FormatStringOffsetTable`, `StubThunkTable`, etc) in proxy and stub code.
* Use the default interface of a runtime class while creating type format strings in `write_ip_tfs`.
* When proxy generation is enabled, also compute UUIDs for all specialized parameterized interface declarations in imported files.
Finally, I have also enabled proxy generation and registration for wintypes.dll as an example. We use the `PROXY_CLSID_IS` define as WinRT IDLs cannot use `coclass` to declare the `PSFactoryBuffer` class for the DLL.
--
v4: wintypes: Register proxies for interfaces.
include: Add size and length annotations for IVector(View) and IIterator method params.
include: Remove duplicate interface declarations.
widl: While generating proxies, compute UUIDs for specialized interface declarations in imported IDL files.
widl: Use the default interface UUID while generating type format strings for runtime classes.
widl: If available, use the mangled C name for naming variables while generating proxies/stubs.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8910