[PATCH 5/5] include: Add Windows.Gaming.Input.XusbGameControllerProvider runtimeclass definition.

Rémi Bernon rbernon at codeweavers.com
Tue Mar 1 02:32:36 CST 2022


Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
 include/windows.gaming.input.custom.idl | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/include/windows.gaming.input.custom.idl b/include/windows.gaming.input.custom.idl
index 001dbc36509..8347f4663d3 100644
--- a/include/windows.gaming.input.custom.idl
+++ b/include/windows.gaming.input.custom.idl
@@ -39,11 +39,13 @@ namespace Windows.Gaming.Input.Custom {
     interface IHidGameControllerInputSink;
     interface IHidGameControllerProvider;
     interface IXusbGameControllerInputSink;
+    interface IXusbGameControllerProvider;
     interface ICustomGameControllerFactory;
     interface IGameControllerFactoryManagerStatics;
     interface IGameControllerFactoryManagerStatics2;
     runtimeclass GameControllerFactoryManager;
     runtimeclass HidGameControllerProvider;
+    runtimeclass XusbGameControllerProvider;
 
     [contract(Windows.Foundation.UniversalApiContract, 3.0)]
     enum XusbDeviceSubtype
@@ -140,6 +142,17 @@ namespace Windows.Gaming.Input.Custom {
                                 [in, size_is(report_len)] BYTE *report_buf);
     }
 
+    [
+        contract(Windows.Foundation.UniversalApiContract, 3.0),
+        exclusiveto(Windows.Gaming.Input.Custom.XusbGameControllerProvider),
+        uuid(6e2971eb-0efb-48b4-808b-837643b2f216)
+    ]
+    interface IXusbGameControllerProvider : IInspectable
+        requires Windows.Gaming.Input.Custom.IGameControllerProvider
+    {
+        HRESULT SetVibration([in] DOUBLE rumble_intensity, [in] DOUBLE buzz_intensity);
+    }
+
     [
         contract(Windows.Foundation.UniversalApiContract, 3.0),
         uuid(69a0ae5e-758e-4cbe-ace6-62155fe9126f)
@@ -202,4 +215,15 @@ namespace Windows.Gaming.Input.Custom {
         [default] interface Windows.Gaming.Input.Custom.IHidGameControllerProvider;
         interface Windows.Gaming.Input.Custom.IGameControllerProvider;
     }
+
+    [
+        contract(Windows.Foundation.UniversalApiContract, 3.0),
+        marshaling_behavior(agile),
+        threading(both)
+    ]
+    runtimeclass XusbGameControllerProvider
+    {
+        [default] interface Windows.Gaming.Input.Custom.IXusbGameControllerProvider;
+        interface Windows.Gaming.Input.Custom.IGameControllerProvider;
+    }
 }
-- 
2.34.1




More information about the wine-devel mailing list