diff --git a/include/windows.gaming.input.custom.idl b/include/windows.gaming.input.custom.idl index d059f35dddd..637e1d4abcf 100644 --- a/include/windows.gaming.input.custom.idl +++ b/include/windows.gaming.input.custom.idl @@ -34,6 +34,7 @@ namespace Windows.Gaming.Input.Custom { typedef struct GameControllerVersionInfo GameControllerVersionInfo; interface IGameControllerInputSink; interface IGameControllerProvider; + interface IHidGameControllerInputSink; interface ICustomGameControllerFactory; interface IGameControllerFactoryManagerStatics; interface IGameControllerFactoryManagerStatics2; @@ -94,6 +95,17 @@ namespace Windows.Gaming.Input.Custom { [propget] HRESULT IsConnected([out, retval] boolean *value); } + [ + contract(Windows.Foundation.UniversalApiContract, 4.0), + uuid(f754c322-182d-40e4-a126-fcee4ffa1e31) + ] + interface IHidGameControllerInputSink : IInspectable + requires Windows.Gaming.Input.Custom.IGameControllerInputSink + { + HRESULT OnInputReportReceived([in] UINT64 timestamp, [in] BYTE id, [in] UINT32 report_len, + [in, size_is(report_len)] BYTE *report_buf); + } + [ contract(Windows.Foundation.UniversalApiContract, 3.0), uuid(69a0ae5e-758e-4cbe-ace6-62155fe9126f)