From: Mohamad Al-Jaf mohamadaljaf@gmail.com
--- dlls/twinapi.appcore/classes.idl | 1 + include/windows.system.profile.idl | 59 +++++++++++++++++++++++++++++- 2 files changed, 59 insertions(+), 1 deletion(-)
diff --git a/dlls/twinapi.appcore/classes.idl b/dlls/twinapi.appcore/classes.idl index 8a57c8bcaeb..e846c523e9e 100644 --- a/dlls/twinapi.appcore/classes.idl +++ b/dlls/twinapi.appcore/classes.idl @@ -28,6 +28,7 @@ import "eventtoken.idl"; import "windowscontracts.idl"; import "windows.foundation.idl"; import "windows.globalization.idl"; +import "windows.storage.streams.idl";
#define DO_NO_IMPORTS #define _TWINAPI_APPCORE diff --git a/include/windows.system.profile.idl b/include/windows.system.profile.idl index 90a561ced07..ef99a8af730 100644 --- a/include/windows.system.profile.idl +++ b/include/windows.system.profile.idl @@ -31,13 +31,27 @@ import "windows.system.idl"; #endif
namespace Windows.System.Profile { - + typedef enum SystemIdentificationSource SystemIdentificationSource; interface IAnalyticsInfoStatics; interface IAnalyticsInfoStatics2; interface IAnalyticsVersionInfo; interface IAnalyticsVersionInfo2; + interface ISystemIdentificationInfo; + interface ISystemIdentificationStatics; runtimeclass AnalyticsVersionInfo; runtimeclass AnalyticsInfo; + runtimeclass SystemIdentification; + runtimeclass SystemIdentificationInfo; + + [contract(Windows.Foundation.UniversalApiContract, 3.0)] + enum SystemIdentificationSource + { + None = 0, + Tpm = 1, + Uefi = 2, + [contract(Windows.Foundation.UniversalApiContract, 5.0)] + Registry = 3, + };
[ contract(Windows.Foundation.UniversalApiContract, 1.0), @@ -61,6 +75,28 @@ namespace Windows.System.Profile { [propget] HRESULT DeviceFamilyVersion([out, retval] HSTRING *value); }
+ [ + contract(Windows.Foundation.UniversalApiContract, 3.0), + exclusiveto(Windows.System.Profile.SystemIdentificationInfo), + uuid(0c659e7d-c3c2-4d33-a2df-21bc41916eb3) + ] + interface ISystemIdentificationInfo : IInspectable + { + [propget] HRESULT Id([out, retval] Windows.Storage.Streams.IBuffer **value); + [propget] HRESULT Source([out, retval] Windows.System.Profile.SystemIdentificationSource *value); + } + + [ + contract(Windows.Foundation.UniversalApiContract, 3.0), + exclusiveto(Windows.System.Profile.SystemIdentification), + uuid(5581f42a-d3df-4d93-a37d-c41a616c6d01) + ] + interface ISystemIdentificationStatics : IInspectable + { + HRESULT GetSystemIdForPublisher([out, retval] Windows.System.Profile.SystemIdentificationInfo **result); + HRESULT GetSystemIdForUser([in] Windows.System.User *user, [out, retval] Windows.System.Profile.SystemIdentificationInfo **result); + } + [ contract(Windows.Foundation.UniversalApiContract, 1.0), marshaling_behavior(agile), @@ -83,4 +119,25 @@ namespace Windows.System.Profile { { }
+#ifndef _TWINAPI_APPCORE + [ + contract(Windows.Foundation.UniversalApiContract, 3.0), + marshaling_behavior(agile), + static(Windows.System.Profile.ISystemIdentificationStatics, Windows.Foundation.UniversalApiContract, 3.0), + threading(both) + ] + runtimeclass SystemIdentification + { + } + + [ + contract(Windows.Foundation.UniversalApiContract, 3.0), + marshaling_behavior(agile), + threading(both) + ] + runtimeclass SystemIdentificationInfo + { + [default] interface Windows.System.Profile.ISystemIdentificationInfo; + } +#endif }