d2d1/commandlist: Implement DrawBitmap() command.
[wine.git] / include / windows.devices.enumeration.idl
blob7cde49224a15b69d2498dc6bfd5f1b936d475da3
1 /*
2 * Copyright 2021 Gijs Vermeulen
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifdef __WIDL__
20 #pragma winrt ns_prefix
21 #endif
23 import "inspectable.idl";
24 import "asyncinfo.idl";
25 import "eventtoken.idl";
26 import "windowscontracts.idl";
27 import "windows.storage.streams.idl";
28 import "windows.foundation.idl";
30 namespace Windows {
31 namespace Devices {
32 namespace Enumeration {
33 typedef enum DeviceWatcherStatus DeviceWatcherStatus;
34 typedef enum Panel Panel;
36 interface IDeviceInformation;
37 interface IDeviceInformationStatics;
38 interface IDeviceInformationStatics2;
39 interface IDeviceInformationUpdate;
40 interface IEnclosureLocation;
42 runtimeclass DeviceInformation;
43 runtimeclass DeviceInformationUpdate;
44 runtimeclass DeviceThumbnail;
45 runtimeclass DeviceWatcher;
46 runtimeclass EnclosureLocation;
51 namespace Windows
53 namespace Devices
55 namespace Enumeration
57 declare
59 interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Enumeration.DeviceInformation *>;
60 interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Enumeration.DeviceThumbnail *>;
61 interface Windows.Foundation.Collections.IMapView<HSTRING, IInspectable *>;
62 interface Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceInformation *>;
63 interface Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceThumbnail *>;
64 interface Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *, IInspectable *>;
65 interface Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *, Windows.Devices.Enumeration.DeviceInformation *>;
66 interface Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *, Windows.Devices.Enumeration.DeviceInformationUpdate *>;
72 namespace Windows
74 namespace Storage
76 namespace Streams
78 interface IContentTypeProvider;
79 interface IInputStream;
80 interface IOutputStream;
81 interface IRandomAccessStream;
82 interface IRandomAccessStreamWithContentType;
87 namespace Windows {
88 namespace Devices {
89 namespace Enumeration {
90 enum DeviceWatcherStatus
92 Created = 0,
93 Started = 1,
94 EnumerationCompleted = 2,
95 Stopping = 3,
96 Stopped = 4,
97 Aborted = 5
100 enum Panel
102 Unknown = 0,
103 Front = 1,
104 Back = 2,
105 Top = 3,
106 Bottom = 4,
107 Left = 5,
108 Right = 6
112 exclusiveto(Windows.Devices.Enumeration.DeviceInformation),
113 uuid(aba0fb95-4398-489d-8e44-e6130927011f)
115 interface IDeviceInformation : IInspectable
117 [propget] HRESULT Id([out, retval] HSTRING *value);
118 [propget] HRESULT Name([out, retval] HSTRING *value);
119 [propget] HRESULT IsEnabled([out, retval] boolean *value);
120 [propget] HRESULT IsDefault([out, retval] boolean *value);
121 [propget] HRESULT EnclosureLocation([out, retval] Windows.Devices.Enumeration.EnclosureLocation **value);
122 [propget] HRESULT Properties([out, retval] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable *> **value);
123 HRESULT Update([in] Windows.Devices.Enumeration.DeviceInformationUpdate *info);
124 HRESULT GetThumbnailAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceThumbnail *> **operation);
125 HRESULT GetGlyphThumbnailAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Enumeration.DeviceThumbnail *> **operation);
129 exclusiveto(Windows.Devices.Enumeration.DeviceInformationUpdate),
130 uuid(8f315305-d972-44b7-a37e-9e822c78213b)
132 interface IDeviceInformationUpdate : IInspectable
134 [propget] HRESULT Id([out, retval] HSTRING *value);
135 [propget] HRESULT Properties([out, retval] Windows.Foundation.Collections.IMapView<HSTRING, IInspectable *> **value);
139 exclusiveto(Windows.Devices.Enumeration.DeviceWatcher),
140 uuid(c9eab97d-8f6b-4f96-a9f4-abc814e22271),
142 interface IDeviceWatcher : IInspectable
144 [eventadd] HRESULT Added([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher*,
145 Windows.Devices.Enumeration.DeviceInformation *> *handler, [out, retval] EventRegistrationToken *token);
146 [eventremove] HRESULT Added([in] EventRegistrationToken token);
147 [eventadd] HRESULT Updated([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *,
148 Windows.Devices.Enumeration.DeviceInformationUpdate *> *handler, [out, retval] EventRegistrationToken *token);
149 [eventremove] HRESULT Updated([in] EventRegistrationToken token);
150 [eventadd] HRESULT Removed([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *,
151 Windows.Devices.Enumeration.DeviceInformationUpdate *> *handler, [out, retval] EventRegistrationToken *token);
152 [eventremove] HRESULT Removed([in] EventRegistrationToken token);
153 [eventadd] HRESULT EnumerationCompleted([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *,
154 IInspectable *> *handler, [out, retval] EventRegistrationToken *token);
155 [eventremove] HRESULT EnumerationCompleted([in] EventRegistrationToken token);
156 [eventadd] HRESULT Stopped([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Enumeration.DeviceWatcher *,
157 IInspectable *> *handler, [out, retval] EventRegistrationToken *token);
158 [eventremove] HRESULT Stopped([in] EventRegistrationToken token);
159 [propget] HRESULT Status([out, retval] Windows.Devices.Enumeration.DeviceWatcherStatus *status);
160 HRESULT Start();
161 HRESULT Stop();
165 exclusiveto(Windows.Devices.Enumeration.EnclosureLocation),
166 uuid(42340a27-5810-459c-aabb-c65e1f813ecf)
168 interface IEnclosureLocation : IInspectable
170 [propget] HRESULT InDock([out, retval] boolean *value);
171 [propget] HRESULT InLid([out, retval] boolean *value);
172 [propget] HRESULT Panel([out, retval] Windows.Devices.Enumeration.Panel *value);
176 contract(Windows.Foundation.UniversalApiContract, 1.0),
177 marshaling_behavior(agile),
178 static(Windows.Devices.Enumeration.IDeviceInformationStatics, Windows.Foundation.UniversalApiContract, 1.0),
179 static(Windows.Devices.Enumeration.IDeviceInformationStatics2, Windows.Foundation.UniversalApiContract, 1.0),
180 threading(both)
182 runtimeclass DeviceInformation
184 [default] interface Windows.Devices.Enumeration.IDeviceInformation;
185 [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Devices.Enumeration.IDeviceInformation2;
189 marshaling_behavior(agile),
191 runtimeclass DeviceInformationUpdate
193 [default] interface Windows.Devices.Enumeration.IDeviceInformationUpdate;
194 interface Windows.Devices.Enumeration.IDeviceInformationUpdate2;
198 marshaling_behavior(agile),
200 runtimeclass DeviceThumbnail
202 [default] interface Windows.Storage.Streams.IRandomAccessStreamWithContentType;
203 interface Windows.Storage.Streams.IContentTypeProvider;
204 interface Windows.Storage.Streams.IRandomAccessStream;
205 interface Windows.Storage.Streams.IOutputStream;
206 interface Windows.Foundation.IClosable;
207 interface Windows.Storage.Streams.IInputStream;
211 marshaling_behavior(agile),
213 runtimeclass DeviceWatcher
215 [default] interface Windows.Devices.Enumeration.IDeviceWatcher;
216 interface Windows.Devices.Enumeration.IDeviceWatcher2;
220 marshaling_behavior(agile)
222 runtimeclass EnclosureLocation
224 [default] interface Windows.Devices.Enumeration.IEnclosureLocation;