From: Hans Leidekker hans@codeweavers.com
--- include/windows.storage.idl | 4 +++ include/windows.system.idl | 66 +++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+)
diff --git a/include/windows.storage.idl b/include/windows.storage.idl index 3473281fece..fb2a211e0d8 100644 --- a/include/windows.storage.idl +++ b/include/windows.storage.idl @@ -33,6 +33,10 @@ import "windows.storage.streams.idl"; import "windows.system.idl"; #endif
+namespace Windows.System { + runtimeclass User; +} + namespace Windows.Storage { typedef enum ApplicationDataCreateDisposition ApplicationDataCreateDisposition; typedef enum ApplicationDataLocality ApplicationDataLocality; diff --git a/include/windows.system.idl b/include/windows.system.idl index c395058860b..5eeb8cf93d4 100644 --- a/include/windows.system.idl +++ b/include/windows.system.idl @@ -25,11 +25,24 @@ import "asyncinfo.idl"; import "eventtoken.idl"; import "windowscontracts.idl"; import "windows.foundation.idl"; +import "windows.storage.idl"; +import "windows.storage.streams.idl"; + +namespace Windows.Foundation.Collections { + interface IPropertySet; +} + +namespace Windows.Storage.Streams { + interface IRandomAccessStreamReference; +}
namespace Windows.System { typedef enum DispatcherQueuePriority DispatcherQueuePriority; typedef enum ProcessorArchitecture ProcessorArchitecture; + typedef enum UserAuthenticationStatus UserAuthenticationStatus; + typedef enum UserPictureSize UserPictureSize; + typedef enum UserType UserType; typedef enum VirtualKey VirtualKey; typedef enum VirtualKeyModifiers VirtualKeyModifiers;
@@ -54,6 +67,10 @@ namespace Windows.System
declare { + interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Foundation.Collections.IPropertySet *>; + interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Storage.Streams.IRandomAccessStreamReference *>; + interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IPropertySet *>; + interface Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStreamReference *>; interface Windows.Foundation.TypedEventHandler<Windows.System.DispatcherQueue *, IInspectable *>; interface Windows.Foundation.TypedEventHandler<Windows.System.DispatcherQueue *, Windows.System.DispatcherQueueShutdownStartingEventArgs *>; interface Windows.Foundation.TypedEventHandler<Windows.System.DispatcherQueueTimer *, IInspectable *>; @@ -85,6 +102,40 @@ namespace Windows.System Unknown = 65535 };
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum UserAuthenticationStatus + { + Unauthenticated = 0, + LocallyAuthenticated = 1, + RemotelyAuthenticated = 2, + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum UserPictureSize + { + Size64x64 = 0, + Size208x208 = 1, + Size424x424 = 2, + Size1080x1080 = 3, + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum UserType + { + LocalUser = 0, + RemoteUser = 1, + LocalGuest = 2, + RemoteGuest = 3, + [contract(Windows.Foundation.UniversalApiContract, 11.0)] + SystemManaged = 4, + }; + [ contract(Windows.Foundation.UniversalApiContract, 1.0) ] @@ -411,6 +462,21 @@ namespace Windows.System [eventremove] HRESULT Tick([in] EventRegistrationToken token); }
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.System.User), + uuid(df9a26c6-e746-4bcd-b5d4-120103c4209b) + ] + interface IUser : IInspectable + { + [propget] HRESULT NonRoamableId([out, retval] HSTRING *value); + [propget] HRESULT AuthenticationStatus([out, retval] Windows.System.UserAuthenticationStatus *value); + [propget] HRESULT Type([out, retval] Windows.System.UserType *value); + HRESULT GetPropertyAsync([in] HSTRING value, [out, retval] Windows.Foundation.IAsyncOperation<IInspectable *> **operation); + HRESULT GetPropertiesAsync([in] Windows.Foundation.Collections.IVectorView<HSTRING> *values, [out, retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IPropertySet *> **operation); + HRESULT GetPictureAsync([in] Windows.System.UserPictureSize desired_size, [out, retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IRandomAccessStreamReference *> **operation); + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.System.UserChangedEventArgs),