@@ -33,9 +33,17 @@ namespace Windows.ApplicationModel.Core {
3333}
3434
3535namespace Windows.ApplicationModel {
36+ typedef enum AppExecutionContext AppExecutionContext;
3637 typedef struct PackageVersion PackageVersion;
3738
3839 interface IAppDisplayInfo;
40+ interface IAppInfo;
41+ interface IAppInfo2;
42+ interface IAppInfo3;
43+ interface IAppInfo4;
44+ interface IAppInfoStatics;
45+ interface IDesignModeStatics;
46+ interface IDesignModeStatics2;
3947 interface IEnteredBackgroundEventArgs;
4048 interface ILeavingBackgroundEventArgs;
4149 interface IPackage;
@@ -50,6 +58,8 @@ namespace Windows.ApplicationModel {
5058 interface ISuspendingOperation;
5159
5260 runtimeclass AppDisplayInfo;
61+ runtimeclass AppInfo;
62+ runtimeclass DesignMode;
5363 runtimeclass EnteredBackgroundEventArgs;
5464 runtimeclass LeavingBackgroundEventArgs;
5565 runtimeclass Package;
@@ -60,17 +70,32 @@ namespace Windows.ApplicationModel {
6070 runtimeclass SuspendingOperation;
6171
6272 declare {
73+ interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.AppInfo *>;
6374 interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *>;
75+ interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.AppInfo *>;
6476 interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Package *>;
77+ interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInfo *>;
6578 interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Package *>;
6679 interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Core.AppListEntry *>;
6780 interface Windows.Foundation.EventHandler<Windows.ApplicationModel.EnteredBackgroundEventArgs *>;
6881 interface Windows.Foundation.EventHandler<Windows.ApplicationModel.LeavingBackgroundEventArgs *>;
6982 interface Windows.Foundation.EventHandler<Windows.ApplicationModel.SuspendingEventArgs *>;
83+ interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInfo *> *>;
7084 interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Core.AppListEntry *> *>;
85+ interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.AppInfo *> *>;
7186 interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Core.AppListEntry *> *>;
7287 }
7388
89+ [
90+ contract(Windows.Foundation.UniversalApiContract, 11.0)
91+ ]
92+ enum AppExecutionContext
93+ {
94+ Unknown = 0,
95+ Host = 1,
96+ Guest = 2,
97+ };
98+
7499 [
75100 contract(Windows.Foundation.UniversalApiContract, 1.0)
76101 ]
@@ -94,6 +119,81 @@ namespace Windows.ApplicationModel {
94119 HRESULT GetLogo([in] Windows.Foundation.Size size, [out, retval] Windows.Storage.Streams.RandomAccessStreamReference **value);
95120 }
96121
122+ [
123+ contract(Windows.Foundation.UniversalApiContract, 1.0),
124+ exclusiveto(Windows.ApplicationModel.AppInfo),
125+ uuid(cf7f59b3-6a09-4de8-a6c0-5792d56880d1)
126+ ]
127+ interface IAppInfo : IInspectable
128+ {
129+ [propget] HRESULT Id([out, retval] HSTRING *value);
130+ [propget] HRESULT AppUserModelId([out, retval] HSTRING *value);
131+ [propget] HRESULT DisplayInfo([out, retval] Windows.ApplicationModel.AppDisplayInfo **value);
132+ [propget] HRESULT PackageFamilyName([out, retval] HSTRING *value);
133+ }
134+
135+ [
136+ contract(Windows.Foundation.UniversalApiContract, 10.0),
137+ exclusiveto(Windows.ApplicationModel.AppInfo),
138+ uuid(be4b1f5a-2098-431b-bd25-b30878748d47)
139+ ]
140+ interface IAppInfo2 : IInspectable
141+ {
142+ [propget] HRESULT Package([out, retval] Windows.ApplicationModel.Package **value);
143+ }
144+
145+ [
146+ contract(Windows.Foundation.UniversalApiContract, 11.0),
147+ exclusiveto(Windows.ApplicationModel.AppInfo),
148+ uuid(09a78e46-93a4-46de-9397-0843b57115ea)
149+ ]
150+ interface IAppInfo3 : IInspectable
151+ {
152+ [propget] HRESULT ExecutionContext([out, retval] Windows.ApplicationModel.AppExecutionContext *value);
153+ }
154+
155+ [
156+ contract(Windows.Foundation.UniversalApiContract, 11.0),
157+ exclusiveto(Windows.ApplicationModel.AppInfo),
158+ uuid(2f34bdeb-1609-4554-9f33-12e1e803e0d4)
159+ ]
160+ interface IAppInfo4 : IInspectable
161+ {
162+ [propget] HRESULT SupportedFileExtensions([out] UINT32 *value_size, [out, retval] [size_is(, *value_size)] HSTRING **value);
163+ }
164+
165+ [
166+ contract(Windows.Foundation.UniversalApiContract, 10.0),
167+ exclusiveto(Windows.ApplicationModel.AppInfo),
168+ uuid(cf1f782a-e48b-4f0c-9b0b-79c3f8957dd7)
169+ ]
170+ interface IAppInfoStatics : IInspectable
171+ {
172+ [propget] HRESULT Current([out, retval] Windows.ApplicationModel.AppInfo **value);
173+ HRESULT GetFromAppUserModelId([in] HSTRING app_user_model_id, [out, retval] Windows.ApplicationModel.AppInfo **result);
174+ HRESULT GetFromAppUserModelIdForUser([in] Windows.System.User *user, [in] HSTRING app_user_model_id, [out, retval] Windows.ApplicationModel.AppInfo **result);
175+ }
176+
177+ [
178+ contract(Windows.Foundation.UniversalApiContract, 1.0),
179+ exclusiveto(Windows.ApplicationModel.DesignMode),
180+ uuid(2c3893cc-f81a-4e7a-b857-76a80887e185)
181+ ]
182+ interface IDesignModeStatics : IInspectable
183+ {
184+ [propget] HRESULT DesignModeEnabled([out, retval] boolean *value);
185+ }
186+
187+ [
188+ contract(Windows.Foundation.UniversalApiContract, 5.0),
189+ exclusiveto(Windows.ApplicationModel.DesignMode),
190+ uuid(80cf8137-b064-4858-bec8-3eba22357535)
191+ ]
192+ interface IDesignModeStatics2 : IInspectable
193+ {
194+ [propget] HRESULT DesignMode2Enabled([out, retval] boolean *value);
195+ }
196+
97197 [
98198 contract(Windows.Foundation.UniversalApiContract, 3.0),
99199 uuid(f722dcc2-9827-403d-aaed-ecca9ac17398)
@@ -250,6 +350,31 @@ namespace Windows.ApplicationModel {
250350 [default] interface Windows.ApplicationModel.IAppDisplayInfo;
251351 }
252352
353+ [
354+ contract(Windows.Foundation.UniversalApiContract, 1.0),
355+ marshaling_behavior(agile),
356+ static(Windows.ApplicationModel.IAppInfoStatics, Windows.Foundation.UniversalApiContract, 10.0),
357+ threading(both)
358+ ]
359+ runtimeclass AppInfo
360+ {
361+ [default] interface Windows.ApplicationModel.IAppInfo;
362+ [contract(Windows.Foundation.UniversalApiContract, 10.0)] interface Windows.ApplicationModel.IAppInfo2;
363+ [contract(Windows.Foundation.UniversalApiContract, 11.0)] interface Windows.ApplicationModel.IAppInfo3;
364+ [contract(Windows.Foundation.UniversalApiContract, 11.0)] interface Windows.ApplicationModel.IAppInfo4;
365+ }
366+
367+ [
368+ contract(Windows.Foundation.UniversalApiContract, 1.0),
369+ marshaling_behavior(agile),
370+ static(Windows.ApplicationModel.IDesignModeStatics, Windows.Foundation.UniversalApiContract, 1.0),
371+ static(Windows.ApplicationModel.IDesignModeStatics2, Windows.Foundation.UniversalApiContract, 5.0),
372+ threading(both)
373+ ]
374+ runtimeclass DesignMode
375+ {
376+ }
377+
253378 [
254379 contract(Windows.Foundation.UniversalApiContract, 3.0),
255380 marshaling_behavior(agile)
0 commit comments