ucrtbase: Store exception record in ExceptionInformation[6] during unwinding.
[wine.git] / include / windows.foundation.idl
blob0ac0f78fa5e865e47d825d425aefeb280e14b94c
1 /*
2 * Copyright 2015 Jacek Caban for CodeWeavers
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 "windowscontracts.idl";
26 import "eventtoken.idl";
27 /* import "ivectorchangedeventargs.idl"; */
28 import "windows.foundation.collections.idl";
30 namespace Windows.Foundation.Collections {
31 interface IPropertySet;
33 declare {
34 interface Windows.Foundation.Collections.IKeyValuePair<HSTRING, IInspectable *>;
35 interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, IInspectable *> *>;
36 interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<HSTRING, IInspectable *> *>;
37 interface Windows.Foundation.Collections.IMapChangedEventArgs<HSTRING>;
38 interface Windows.Foundation.Collections.MapChangedEventHandler<HSTRING, IInspectable *>;
39 interface Windows.Foundation.Collections.IMap<HSTRING, IInspectable *>;
40 interface Windows.Foundation.Collections.IMapView<HSTRING, IInspectable *>;
41 interface Windows.Foundation.Collections.IObservableMap<HSTRING, IInspectable *>;
45 contract(Windows.Foundation.FoundationContract, 1.0),
46 uuid(8a43ed9f-f4e6-4421-acf9-1dab2986820c)
48 interface IPropertySet : IInspectable
49 requires Windows.Foundation.Collections.IObservableMap<HSTRING, IInspectable *>,
50 Windows.Foundation.Collections.IMap<HSTRING, IInspectable *>,
51 Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<HSTRING, IInspectable *> *>
56 namespace Windows.Foundation {
57 typedef enum PropertyType PropertyType;
58 typedef struct Point Point;
59 typedef struct Size Size;
60 typedef struct Rect Rect;
61 typedef struct DateTime DateTime;
62 typedef struct TimeSpan TimeSpan;
63 interface IAsyncAction;
64 interface IClosable;
65 interface IDeferral;
66 interface IDeferralFactory;
67 interface IGetActivationFactory;
68 interface IMemoryBuffer;
69 interface IMemoryBufferFactory;
70 interface IMemoryBufferReference;
71 interface IStringable;
72 interface IUriEscapeStatics;
73 interface IUriRuntimeClass;
74 interface IUriRuntimeClassFactory;
75 interface IUriRuntimeClassWithAbsoluteCanonicalUri;
76 interface IWwwFormUrlDecoderEntry;
77 interface IWwwFormUrlDecoderRuntimeClass;
78 interface IWwwFormUrlDecoderRuntimeClassFactory;
80 runtimeclass Deferral;
81 runtimeclass MemoryBuffer;
82 runtimeclass Uri;
83 runtimeclass WwwFormUrlDecoder;
84 runtimeclass WwwFormUrlDecoderEntry;
86 declare {
87 interface Windows.Foundation.Collections.IIterable<HSTRING>;
88 interface Windows.Foundation.Collections.IIterable<IInspectable *>;
89 interface Windows.Foundation.Collections.IIterable<IWwwFormUrlDecoderEntry *>;
90 interface Windows.Foundation.Collections.IIterable<Uri *>;
91 interface Windows.Foundation.Collections.IIterator<HSTRING>;
92 interface Windows.Foundation.Collections.IIterator<IInspectable *>;
93 interface Windows.Foundation.Collections.IIterator<IWwwFormUrlDecoderEntry *>;
94 interface Windows.Foundation.Collections.IIterator<Uri *>;
95 interface Windows.Foundation.Collections.IVectorView<BYTE>;
96 interface Windows.Foundation.Collections.IVectorView<HSTRING>;
97 interface Windows.Foundation.Collections.IVectorView<IInspectable *>;
98 interface Windows.Foundation.Collections.IVectorView<IWwwFormUrlDecoderEntry *>;
99 interface Windows.Foundation.Collections.IVectorView<Windows.Foundation.Uri *>;
100 interface Windows.Foundation.Collections.IVector<HSTRING>;
101 interface Windows.Foundation.Collections.IVector<IInspectable *>;
102 interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.Foundation.Collections.IVectorView<HSTRING> *>;
103 interface Windows.Foundation.EventHandler<IInspectable *>;
104 interface Windows.Foundation.AsyncOperationCompletedHandler<IInspectable *>;
105 interface Windows.Foundation.AsyncOperationCompletedHandler<boolean>;
106 interface Windows.Foundation.AsyncOperationCompletedHandler<UINT32>;
107 interface Windows.Foundation.IAsyncOperation<IInspectable *>;
108 interface Windows.Foundation.IAsyncOperation<boolean>;
109 interface Windows.Foundation.IAsyncOperation<UINT32>;
110 interface Windows.Foundation.IReference<BYTE>;
111 interface Windows.Foundation.IReference<INT32>;
112 interface Windows.Foundation.IReference<DOUBLE>;
113 interface Windows.Foundation.IReference<FLOAT>;
114 interface Windows.Foundation.IReference<UINT32>;
115 interface Windows.Foundation.IReference<UINT64>;
116 interface Windows.Foundation.IReference<Windows.Foundation.DateTime>;
117 interface Windows.Foundation.TypedEventHandler<IInspectable *, IInspectable *>;
118 interface Windows.Foundation.TypedEventHandler<Windows.Foundation.IMemoryBufferReference *, IInspectable *>;
122 contract(Windows.Foundation.FoundationContract, 1.0),
123 uuid(a4ed5c81-76c9-40bd-8be6-b1d90fb20ae7)
125 delegate HRESULT AsyncActionCompletedHandler([in] Windows.Foundation.IAsyncAction *action, [in] AsyncStatus status);
128 contract(Windows.Foundation.FoundationContract, 1.0),
129 uuid(ed32a372-f3c8-4faa-9cfb-470148da3888)
131 delegate HRESULT DeferralCompletedHandler();
133 [contract(Windows.Foundation.FoundationContract, 1.0)]
134 enum PropertyType
136 Empty = 0,
137 UInt8 = 1,
138 Int16 = 2,
139 UInt16 = 3,
140 Int32 = 4,
141 UInt32 = 5,
142 Int64 = 6,
143 UInt64 = 7,
144 Single = 8,
145 Double = 9,
146 Char16 = 10,
147 Boolean = 11,
148 String = 12,
149 Inspectable = 13,
150 DateTime = 14,
151 TimeSpan = 15,
152 Guid = 16,
153 Point = 17,
154 Size = 18,
155 Rect = 19,
156 OtherType = 20,
157 UInt8Array = 1025,
158 Int16Array = 1026,
159 UInt16Array = 1027,
160 Int32Array = 1028,
161 UInt32Array = 1029,
162 Int64Array = 1030,
163 UInt64Array = 1031,
164 SingleArray = 1032,
165 DoubleArray = 1033,
166 Char16Array = 1034,
167 BooleanArray = 1035,
168 StringArray = 1036,
169 InspectableArray = 1037,
170 DateTimeArray = 1038,
171 TimeSpanArray = 1039,
172 GuidArray = 1040,
173 PointArray = 1041,
174 SizeArray = 1042,
175 RectArray = 1043,
176 OtherTypeArray = 1044,
179 [contract(Windows.Foundation.FoundationContract, 1.0)]
180 struct Point
182 FLOAT X;
183 FLOAT Y;
186 [contract(Windows.Foundation.FoundationContract, 1.0)]
187 struct Size
189 FLOAT Width;
190 FLOAT Height;
193 [contract(Windows.Foundation.FoundationContract, 1.0)]
194 struct Rect
196 FLOAT X;
197 FLOAT Y;
198 FLOAT Width;
199 FLOAT Height;
202 [contract(Windows.Foundation.FoundationContract, 1.0)]
203 struct DateTime
205 INT64 UniversalTime;
208 [contract(Windows.Foundation.FoundationContract, 1.0)]
209 struct TimeSpan
211 INT64 Duration;
215 contract(Windows.Foundation.FoundationContract, 1.0),
216 uuid(96369f54-8eb6-48f0-abce-c1b211e627c3)
218 interface IStringable : IInspectable
220 HRESULT ToString([out, retval] HSTRING *value);
224 contract(Windows.Foundation.FoundationContract, 1.0),
225 uuid(30d5a829-7fa4-4026-83bb-d75bae4ea99e)
227 interface IClosable : IInspectable
229 HRESULT Close();
233 contract(Windows.Foundation.FoundationContract, 1.0),
234 exclusiveto(Windows.Foundation.Deferral),
235 uuid(d6269732-3b7f-46a7-b40b-4fdca2a2c693)
237 interface IDeferral : IInspectable
238 requires Windows.Foundation.IClosable
240 HRESULT Complete();
244 contract(Windows.Foundation.FoundationContract, 1.0),
245 exclusiveto(Windows.Foundation.Deferral),
246 uuid(65a1ecc5-3fb5-4832-8ca9-f061b281d13a)
248 interface IDeferralFactory : IInspectable
250 HRESULT Create([in] Windows.Foundation.DeferralCompletedHandler *handler, [out, retval] Windows.Foundation.Deferral **result);
254 contract(Windows.Foundation.UniversalApiContract, 1.0),
255 uuid(4edb8ee2-96dd-49a7-94f7-4607ddab8e3c)
257 interface IGetActivationFactory : IInspectable
259 HRESULT GetActivationFactory([in] HSTRING activatable_class_id, [out, retval] IInspectable **factory);
263 contract(Windows.Foundation.FoundationContract, 1.0),
264 uuid(5a648006-843a-4da9-865b-9d26e5dfad7b)
266 interface IAsyncAction : IInspectable
267 requires IAsyncInfo
269 [propput] HRESULT Completed([in] Windows.Foundation.AsyncActionCompletedHandler *handler);
270 [propget] HRESULT Completed([out, retval] Windows.Foundation.AsyncActionCompletedHandler **handler);
271 HRESULT GetResults();
275 contract(Windows.Foundation.UniversalApiContract, 1.0),
276 uuid(fbc4dd2a-245b-11e4-af98-689423260cf8)
278 interface IMemoryBuffer : IInspectable
279 requires Windows.Foundation.IClosable
281 HRESULT CreateReference([out, retval] Windows.Foundation.IMemoryBufferReference **reference);
285 contract(Windows.Foundation.UniversalApiContract, 1.0),
286 exclusiveto(Windows.Foundation.MemoryBuffer),
287 uuid(fbc4dd2b-245b-11e4-af98-689423260cf8)
289 interface IMemoryBufferFactory : IInspectable
291 HRESULT Create([in, range(0x00000000, 0x7fffffff)] UINT32 capacity,
292 [out, retval] Windows.Foundation.MemoryBuffer **value);
296 contract(Windows.Foundation.UniversalApiContract, 1.0),
297 uuid(fbc4dd29-245b-11e4-af98-689423260cf8)
299 interface IMemoryBufferReference : IInspectable
300 requires Windows.Foundation.IClosable
302 [propget] HRESULT Capacity([out, retval] UINT32 *value);
303 [eventadd] HRESULT Closed([in] Windows.Foundation.TypedEventHandler<Windows.Foundation.IMemoryBufferReference *, IInspectable *> *handler,
304 [out, retval] EventRegistrationToken *cookie);
305 [eventremove] HRESULT Closed([in] EventRegistrationToken cookie);
309 contract(Windows.Foundation.UniversalApiContract, 1.0),
310 exclusiveto(Windows.Foundation.Uri),
311 uuid(c1d432ba-c824-4452-a7fd-512bc3bbe9a1)
313 interface IUriEscapeStatics : IInspectable
315 HRESULT UnescapeComponent([in] HSTRING to_unescape, [out, retval] HSTRING *value);
316 HRESULT EscapeComponent([in] HSTRING to_escape, [out, retval] HSTRING *value);
320 contract(Windows.Foundation.UniversalApiContract, 1.0),
321 exclusiveto(Windows.Foundation.Uri),
322 uuid(9e365e57-48b2-4160-956f-c7385120bbfc)
324 interface IUriRuntimeClass : IInspectable
326 [propget] HRESULT AbsoluteUri([out, retval] HSTRING *value);
327 [propget] HRESULT DisplayUri([out, retval] HSTRING *value);
328 [propget] HRESULT Domain([out, retval] HSTRING *value);
329 [propget] HRESULT Extension([out, retval] HSTRING *value);
330 [propget] HRESULT Fragment([out, retval] HSTRING *value);
331 [propget] HRESULT Host([out, retval] HSTRING *value);
332 [propget] HRESULT Password([out, retval] HSTRING *value);
333 [propget] HRESULT Path([out, retval] HSTRING *value);
334 [propget] HRESULT Query([out, retval] HSTRING *value);
335 [propget] HRESULT QueryParsed([out, retval] Windows.Foundation.WwwFormUrlDecoder **decoder);
336 [propget] HRESULT RawUri([out, retval] HSTRING *value);
337 [propget] HRESULT SchemeName([out, retval] HSTRING *value);
338 [propget] HRESULT UserName([out, retval] HSTRING *value);
339 [propget] HRESULT Port([out, retval] INT32 *value);
340 [propget] HRESULT Suspicious([out, retval] boolean *value);
341 HRESULT Equals([in] Windows.Foundation.Uri *uri, [out, retval] boolean *value);
342 HRESULT CombineUri([in] HSTRING relative_uri, [out, retval] Windows.Foundation.Uri **instance);
346 contract(Windows.Foundation.UniversalApiContract, 1.0),
347 exclusiveto(Windows.Foundation.Uri),
348 uuid(44a9796f-723e-4fdf-a218-033e75b0c084)
350 interface IUriRuntimeClassFactory : IInspectable
352 HRESULT CreateUri([in] HSTRING uri, [out, retval] Windows.Foundation.Uri **instance);
353 HRESULT CreateWithRelativeUri([in] HSTRING base_uri, [in] HSTRING relative_uri, [out, retval] Windows.Foundation.Uri **instance);
357 contract(Windows.Foundation.UniversalApiContract, 1.0),
358 exclusiveto(Windows.Foundation.Uri),
359 uuid(758d9661-221c-480f-a339-50656673f46f)
361 interface IUriRuntimeClassWithAbsoluteCanonicalUri : IInspectable
363 [propget] HRESULT AbsoluteCanonicalUri([out, retval] HSTRING *value);
364 [propget] HRESULT DisplayIri([out, retval] HSTRING *value);
368 contract(Windows.Foundation.UniversalApiContract, 1.0),
369 uuid(125e7431-f678-4e8e-b670-20a9b06c512d)
371 interface IWwwFormUrlDecoderEntry : IInspectable
373 [propget] HRESULT Name([out, retval] HSTRING *value);
374 [propget] HRESULT Value([out, retval] HSTRING *value);
378 contract(Windows.Foundation.UniversalApiContract, 1.0),
379 exclusiveto(Windows.Foundation.WwwFormUrlDecoder),
380 uuid(d45a0451-f225-4542-9296-0e1df5d254df)
382 interface IWwwFormUrlDecoderRuntimeClass : IInspectable
383 requires Windows.Foundation.Collections.IIterable<Windows.Foundation.IWwwFormUrlDecoderEntry *>,
384 Windows.Foundation.Collections.IVectorView<Windows.Foundation.IWwwFormUrlDecoderEntry *>
386 HRESULT GetFirstValueByName([in] HSTRING name, [out, retval] HSTRING *value);
390 contract(Windows.Foundation.UniversalApiContract, 1.0),
391 exclusiveto(Windows.Foundation.WwwFormUrlDecoder),
392 uuid(5b8c6b3d-24ae-41b5-a1bf-f0c3d544845b)
394 interface IWwwFormUrlDecoderRuntimeClassFactory : IInspectable
396 HRESULT CreateWwwFormUrlDecoder([in] HSTRING query, [out, retval] Windows.Foundation.WwwFormUrlDecoder **instance);
400 activatable(Windows.Foundation.IDeferralFactory, Windows.Foundation.FoundationContract, 1.0),
401 contract(Windows.Foundation.FoundationContract, 1.0),
402 marshaling_behavior(agile)
404 runtimeclass Deferral
406 [default] interface Windows.Foundation.IDeferral;
407 interface Windows.Foundation.IClosable;
411 activatable(Windows.Foundation.IMemoryBufferFactory, Windows.Foundation.UniversalApiContract, 1.0),
412 contract(Windows.Foundation.UniversalApiContract, 1.0),
413 marshaling_behavior(agile),
414 threading(both)
416 runtimeclass MemoryBuffer
418 [default] interface Windows.Foundation.IMemoryBuffer;
419 interface Windows.Foundation.IClosable;
423 activatable(Windows.Foundation.IUriRuntimeClassFactory, Windows.Foundation.UniversalApiContract, 1.0),
424 contract(Windows.Foundation.UniversalApiContract, 1.0),
425 marshaling_behavior(agile),
426 static(Windows.Foundation.IUriEscapeStatics, Windows.Foundation.UniversalApiContract, 1.0),
427 threading(both)
429 runtimeclass Uri
431 [default] interface Windows.Foundation.IUriRuntimeClass;
432 interface Windows.Foundation.IUriRuntimeClassWithAbsoluteCanonicalUri;
433 [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Foundation.IStringable;
437 activatable(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory, Windows.Foundation.UniversalApiContract, 1.0),
438 contract(Windows.Foundation.UniversalApiContract, 1.0),
439 marshaling_behavior(agile),
440 threading(both)
442 runtimeclass WwwFormUrlDecoder
444 [default] interface Windows.Foundation.IWwwFormUrlDecoderRuntimeClass;
445 interface Windows.Foundation.Collections.IVectorView<Windows.Foundation.IWwwFormUrlDecoderEntry *>;
446 interface Windows.Foundation.Collections.IIterable<Windows.Foundation.IWwwFormUrlDecoderEntry *>;
450 contract(Windows.Foundation.UniversalApiContract, 1.0),
451 marshaling_behavior(agile),
452 threading(both)
454 runtimeclass WwwFormUrlDecoderEntry
456 [default] interface Windows.Foundation.IWwwFormUrlDecoderEntry;