Jactry Zeng : include: Add IDeviceInformation interface.

Alexandre Julliard julliard at winehq.org
Wed Nov 3 16:42:01 CDT 2021


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

Author: Jactry Zeng <jzeng at codeweavers.com>
Date:   Fri Oct 29 16:52:55 2021 +0800

include: Add IDeviceInformation interface.

Signed-off-by: Jactry Zeng <jzeng at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/windows.devices.enumeration.idl | 123 ++++++++++++++++++++++++++++++++
 1 file changed, 123 insertions(+)

diff --git a/include/windows.devices.enumeration.idl b/include/windows.devices.enumeration.idl
index 9aa2aaba441..20e4df9d33d 100644
--- a/include/windows.devices.enumeration.idl
+++ b/include/windows.devices.enumeration.idl
@@ -24,13 +24,57 @@ import "inspectable.idl";
 import "asyncinfo.idl";
 import "eventtoken.idl";
 import "windowscontracts.idl";
+import "windows.storage.streams.idl";
 import "windows.foundation.idl";
 
 namespace Windows {
     namespace Devices {
         namespace Enumeration {
+            typedef enum Panel Panel;
+
+            interface IDeviceInformation;
             interface IDeviceInformationStatics;
             interface IDeviceInformationStatics2;
+            interface IDeviceInformationUpdate;
+            interface IEnclosureLocation;
+
+            runtimeclass DeviceInformation;
+            runtimeclass DeviceInformationUpdate;
+            runtimeclass DeviceThumbnail;
+            runtimeclass EnclosureLocation;
+        }
+    }
+}
+
+namespace Windows
+{
+    namespace Devices
+    {
+        namespace Enumeration
+        {
+            declare
+            {
+                interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Enumeration.DeviceInformation *>;
+                interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Enumeration.DeviceThumbnail *>;
+                interface Windows.Foundation.Collections.IMapView<HSTRING, IInspectable *>;
+                interface Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceInformation *>;
+                interface Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceThumbnail *>;
+            }
+        }
+    }
+}
+
+namespace Windows
+{
+    namespace Storage
+    {
+        namespace Streams
+        {
+            interface IContentTypeProvider;
+            interface IInputStream;
+            interface IOutputStream;
+            interface IRandomAccessStream;
+            interface IRandomAccessStreamWithContentType;
         }
     }
 }
@@ -38,6 +82,55 @@ namespace Windows {
 namespace Windows {
     namespace Devices {
         namespace Enumeration {
+            enum Panel
+            {
+                Unknown = 0,
+                Front   = 1,
+                Back    = 2,
+                Top     = 3,
+                Bottom  = 4,
+                Left    = 5,
+                Right   = 6
+            };
+
+            [
+                exclusiveto(Windows.Devices.Enumeration.DeviceInformation),
+                uuid(aba0fb95-4398-489d-8e44-e6130927011f)
+            ]
+            interface IDeviceInformation : IInspectable
+            {
+                [propget] HRESULT Id([out, retval] HSTRING *value);
+                [propget] HRESULT Name([out, retval] HSTRING *value);
+                [propget] HRESULT IsEnabled([out, retval] boolean *value);
+                [propget] HRESULT IsDefault([out, retval] boolean *value);
+                [propget] HRESULT EnclosureLocation([out, retval] Windows.Devices.Enumeration.EnclosureLocation **value);
+                [propget] HRESULT Properties([out, retval] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable *> **value);
+                HRESULT Update([in] Windows.Devices.Enumeration.DeviceInformationUpdate *info);
+                HRESULT GetThumbnailAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceThumbnail *> **operation);
+                HRESULT GetGlyphThumbnailAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceThumbnail *> **operation);
+            }
+
+            [
+                exclusiveto(Windows.Devices.Enumeration.DeviceInformationUpdate),
+                uuid(8f315305-d972-44b7-a37e-9e822c78213b)
+            ]
+            interface IDeviceInformationUpdate : IInspectable
+            {
+                [propget] HRESULT Id([out, retval] HSTRING *value);
+                [propget] HRESULT Properties([out, retval] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable *> **value);
+            }
+
+            [
+                exclusiveto(Windows.Devices.Enumeration.EnclosureLocation),
+                uuid(42340a27-5810-459c-aabb-c65e1f813ecf)
+            ]
+            interface IEnclosureLocation : IInspectable
+            {
+                [propget] HRESULT InDock([out, retval] boolean *value);
+                [propget] HRESULT InLid([out, retval] boolean *value);
+                [propget] HRESULT Panel([out, retval] Windows.Devices.Enumeration.Panel *value);
+            }
+
             [
                 contract(Windows.Foundation.UniversalApiContract, 1.0),
                 marshaling_behavior(agile),
@@ -50,6 +143,36 @@ namespace Windows {
                 [default] interface Windows.Devices.Enumeration.IDeviceInformation;
                 [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Devices.Enumeration.IDeviceInformation2;
             }
+
+            [
+                marshaling_behavior(agile),
+            ]
+            runtimeclass DeviceInformationUpdate
+            {
+                [default] interface Windows.Devices.Enumeration.IDeviceInformationUpdate;
+                interface Windows.Devices.Enumeration.IDeviceInformationUpdate2;
+            }
+
+            [
+                marshaling_behavior(agile),
+            ]
+            runtimeclass DeviceThumbnail
+            {
+                [default] interface Windows.Storage.Streams.IRandomAccessStreamWithContentType;
+                interface Windows.Storage.Streams.IContentTypeProvider;
+                interface Windows.Storage.Streams.IRandomAccessStream;
+                interface Windows.Storage.Streams.IOutputStream;
+                interface Windows.Foundation.IClosable;
+                interface Windows.Storage.Streams.IInputStream;
+            }
+
+            [
+                marshaling_behavior(agile)
+            ]
+            runtimeclass EnclosureLocation
+            {
+                [default] interface Windows.Devices.Enumeration.IEnclosureLocation;
+            }
         }
     }
 }




More information about the wine-cvs mailing list