Rémi Bernon : include: Add Windows.Gaming.Input.XusbGameControllerProvider runtimeclass definition.

Alexandre Julliard julliard at winehq.org
Tue Mar 1 15:45:33 CST 2022


Module: wine
Branch: master
Commit: 189a2eadcb649ed8ec40d03ade648dabf6b618a4
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=189a2eadcb649ed8ec40d03ade648dabf6b618a4

Author: Rémi Bernon <rbernon at codeweavers.com>
Date:   Tue Mar  1 09:32:36 2022 +0100

include: Add Windows.Gaming.Input.XusbGameControllerProvider runtimeclass definition.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 3d188ed5cf0..0811b991091 100644
--- a/include/windows.gaming.input.custom.idl
+++ b/include/windows.gaming.input.custom.idl
@@ -37,11 +37,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
@@ -138,6 +140,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)
@@ -200,4 +213,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;
+    }
 }




More information about the wine-cvs mailing list