microsoft / win32metadata

Tooling to generate metadata for Win32 APIs in the Windows SDK.
Other
1.32k stars 113 forks source link

Include GameInput API in Win32Metadata? #1935

Open smourier opened 2 months ago

smourier commented 2 months ago

Hi,

Unless I'm wrong, the official GameInput Microsoft API (https://learn.microsoft.com/en-us/gaming/gdk/_content/gc/input/overviews/input-overview) is not included in Win32Metadata, would it be possible to include it? The linked nuget contains just one GameInput.h header file.

riverar commented 2 months ago

Seems reasonable to me. I checked out the packaged lib and it points to GameInput.dll which ships with the OS. This should mean the NuGet headers are in sync with the OS implementation.

smourier commented 2 months ago

I'm not sure the nuget is in sync or will be forever as Microsoft more and more tends to create nugets or SDK to precisely decouple from Windows lifecycle releases (WinUI3, DirectX Agility SDK, etc.), however I do think it's still useful, even slightly decoupled.

In fact, speaking of these decoupled packages, they already are in Win32Metadata, I guess it's the same type of inclusion.

I thought I could do it myself but it seems a bit complex and may require design decision since it maybe a new namespace (partition?).

mikebattista commented 2 months ago

That header is part of the GDK. The general recommendation is that the GDK team should publish their own metadata (for more than just GameInput) using our tooling like the WDK does.

DirectX Agility SDK is here because it overwrites existing headers in the SDK with newer versions. I don't think the GDK is the same. I don't see GameInput.h in the SDK headers for example.

riverar commented 2 months ago

@mikebattista Can be found at 10.0.26100.0\um\GameInput.h. Seems new as of 10.0.26063.0 (which is a little strange to me).

mikebattista commented 2 months ago

If it's new as of the new kit that we haven't updated to yet, it would be good to understand their strategy first before ingesting individual headers.