// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_Security_EnterpriseData_0_H #define WINRT_Windows_Security_EnterpriseData_0_H WINRT_EXPORT namespace winrt::Windows::Foundation { struct Deferral; template struct WINRT_IMPL_EMPTY_BASES EventHandler; struct EventRegistrationToken; } WINRT_EXPORT namespace winrt::Windows::Foundation::Collections { template struct WINRT_IMPL_EMPTY_BASES IIterable; } WINRT_EXPORT namespace winrt::Windows::Networking { struct HostName; } WINRT_EXPORT namespace winrt::Windows::Storage { enum class CreationCollisionOption : int32_t; struct IStorageFile; struct IStorageFolder; struct IStorageItem; enum class NameCollisionOption : int32_t; struct StorageFile; } WINRT_EXPORT namespace winrt::Windows::Storage::Streams { struct IBuffer; struct IInputStream; struct IOutputStream; struct IRandomAccessStream; } WINRT_EXPORT namespace winrt::Windows::Security::EnterpriseData { enum class DataProtectionStatus : int32_t { ProtectedToOtherIdentity = 0, Protected = 1, Revoked = 2, Unprotected = 3, LicenseExpired = 4, AccessSuspended = 5, }; enum class EnforcementLevel : int32_t { NoProtection = 0, Silent = 1, Override = 2, Block = 3, }; enum class FileProtectionStatus : int32_t { Undetermined = 0, Unknown = 0, Unprotected = 1, Revoked = 2, Protected = 3, ProtectedByOtherUser = 4, ProtectedToOtherEnterprise = 5, NotProtectable = 6, ProtectedToOtherIdentity = 7, LicenseExpired = 8, AccessSuspended = 9, FileInUse = 10, }; enum class ProtectedImportExportStatus : int32_t { Ok = 0, Undetermined = 1, Unprotected = 2, Revoked = 3, NotRoamable = 4, ProtectedToOtherIdentity = 5, LicenseExpired = 6, AccessSuspended = 7, }; enum class ProtectionPolicyAuditAction : int32_t { Decrypt = 0, CopyToLocation = 1, SendToRecipient = 2, Other = 3, }; enum class ProtectionPolicyEvaluationResult : int32_t { Allowed = 0, Blocked = 1, ConsentRequired = 2, }; enum class ProtectionPolicyRequestAccessBehavior : int32_t { Decrypt = 0, TreatOverridePolicyAsBlock = 1, }; struct IBufferProtectUnprotectResult; struct IDataProtectionInfo; struct IDataProtectionManagerStatics; struct IFileProtectionInfo; struct IFileProtectionInfo2; struct IFileProtectionManagerStatics; struct IFileProtectionManagerStatics2; struct IFileProtectionManagerStatics3; struct IFileRevocationManagerStatics; struct IFileUnprotectOptions; struct IFileUnprotectOptionsFactory; struct IProtectedAccessResumedEventArgs; struct IProtectedAccessSuspendingEventArgs; struct IProtectedContainerExportResult; struct IProtectedContainerImportResult; struct IProtectedContentRevokedEventArgs; struct IProtectedFileCreateResult; struct IProtectionPolicyAuditInfo; struct IProtectionPolicyAuditInfoFactory; struct IProtectionPolicyManager; struct IProtectionPolicyManager2; struct IProtectionPolicyManagerStatics; struct IProtectionPolicyManagerStatics2; struct IProtectionPolicyManagerStatics3; struct IProtectionPolicyManagerStatics4; struct IThreadNetworkContext; struct BufferProtectUnprotectResult; struct DataProtectionInfo; struct DataProtectionManager; struct FileProtectionInfo; struct FileProtectionManager; struct FileRevocationManager; struct FileUnprotectOptions; struct ProtectedAccessResumedEventArgs; struct ProtectedAccessSuspendingEventArgs; struct ProtectedContainerExportResult; struct ProtectedContainerImportResult; struct ProtectedContentRevokedEventArgs; struct ProtectedFileCreateResult; struct ProtectionPolicyAuditInfo; struct ProtectionPolicyManager; struct ThreadNetworkContext; struct EnterpriseDataContract; } namespace winrt::impl { template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.BufferProtectUnprotectResult"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.DataProtectionInfo"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.DataProtectionManager"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.FileProtectionInfo"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.FileProtectionManager"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.FileRevocationManager"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.FileUnprotectOptions"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ProtectedAccessResumedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ProtectedAccessSuspendingEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ProtectedContainerExportResult"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ProtectedContainerImportResult"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ProtectedContentRevokedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ProtectedFileCreateResult"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ProtectionPolicyAuditInfo"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ProtectionPolicyManager"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ThreadNetworkContext"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.DataProtectionStatus"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.EnforcementLevel"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.FileProtectionStatus"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ProtectedImportExportStatus"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ProtectionPolicyAuditAction"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ProtectionPolicyEvaluationResult"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.ProtectionPolicyRequestAccessBehavior"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IBufferProtectUnprotectResult"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IDataProtectionInfo"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IDataProtectionManagerStatics"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IFileProtectionInfo"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IFileProtectionInfo2"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IFileProtectionManagerStatics"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IFileProtectionManagerStatics2"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IFileProtectionManagerStatics3"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IFileRevocationManagerStatics"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IFileUnprotectOptions"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IFileUnprotectOptionsFactory"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectedAccessResumedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectedAccessSuspendingEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectedContainerExportResult"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectedContainerImportResult"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectedContentRevokedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectedFileCreateResult"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectionPolicyAuditInfo"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectionPolicyAuditInfoFactory"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectionPolicyManager"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectionPolicyManager2"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectionPolicyManagerStatics"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectionPolicyManagerStatics2"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectionPolicyManagerStatics3"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IProtectionPolicyManagerStatics4"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.IThreadNetworkContext"; template <> inline constexpr auto& name_v = L"Windows.Security.EnterpriseData.EnterpriseDataContract"; template <> inline constexpr guid guid_v{ 0x47995EDC,0x6CEC,0x4E3A,{ 0xB2,0x51,0x9E,0x74,0x85,0xD7,0x9E,0x7A } }; // 47995EDC-6CEC-4E3A-B251-9E7485D79E7A template <> inline constexpr guid guid_v{ 0x8420B0C1,0x5E31,0x4405,{ 0x95,0x40,0x3F,0x94,0x3A,0xF0,0xCB,0x26 } }; // 8420B0C1-5E31-4405-9540-3F943AF0CB26 template <> inline constexpr guid guid_v{ 0xB6149B74,0x9144,0x4EE4,{ 0x8A,0x8A,0x30,0xB5,0xF3,0x61,0x43,0x0E } }; // B6149B74-9144-4EE4-8A8A-30B5F361430E template <> inline constexpr guid guid_v{ 0x4EE96486,0x147E,0x4DD0,{ 0x8F,0xAF,0x52,0x53,0xED,0x91,0xAD,0x0C } }; // 4EE96486-147E-4DD0-8FAF-5253ED91AD0C template <> inline constexpr guid guid_v{ 0x82123A4C,0x557A,0x498D,{ 0x8E,0x94,0x94,0x4C,0xD5,0x83,0x64,0x32 } }; // 82123A4C-557A-498D-8E94-944CD5836432 template <> inline constexpr guid guid_v{ 0x5846FC9B,0xE613,0x426B,{ 0xBB,0x38,0x88,0xCB,0xA1,0xDC,0x9A,0xDB } }; // 5846FC9B-E613-426B-BB38-88CBA1DC9ADB template <> inline constexpr guid guid_v{ 0x83D2A745,0x0483,0x41AB,{ 0xB2,0xD5,0xBC,0x7F,0x23,0xD7,0x4E,0xBB } }; // 83D2A745-0483-41AB-B2D5-BC7F23D74EBB template <> inline constexpr guid guid_v{ 0x6918849A,0x624F,0x46D6,{ 0xB2,0x41,0xE9,0xCD,0x5F,0xDF,0x3E,0x3F } }; // 6918849A-624F-46D6-B241-E9CD5FDF3E3F template <> inline constexpr guid guid_v{ 0x256BBC3D,0x1C5D,0x4260,{ 0x8C,0x75,0x91,0x44,0xCF,0xB7,0x8B,0xA9 } }; // 256BBC3D-1C5D-4260-8C75-9144CFB78BA9 template <> inline constexpr guid guid_v{ 0x7D1312F1,0x3B0D,0x4DD8,{ 0xA1,0xF8,0x1E,0xC5,0x38,0x22,0xE2,0xF3 } }; // 7D1312F1-3B0D-4DD8-A1F8-1EC53822E2F3 template <> inline constexpr guid guid_v{ 0x51AEB39C,0xDA8C,0x4C3F,{ 0x9B,0xFB,0xCB,0x73,0xA7,0xCC,0xE0,0xDD } }; // 51AEB39C-DA8C-4C3F-9BFB-CB73A7CCE0DD template <> inline constexpr guid guid_v{ 0xAC4DCA59,0x5D80,0x4E95,{ 0x8C,0x5F,0x85,0x39,0x45,0x0E,0xEB,0xE0 } }; // AC4DCA59-5D80-4E95-8C5F-8539450EEBE0 template <> inline constexpr guid guid_v{ 0x75A193E0,0xA344,0x429F,{ 0xB9,0x75,0x04,0xFC,0x1F,0x88,0xC1,0x85 } }; // 75A193E0-A344-429F-B975-04FC1F88C185 template <> inline constexpr guid guid_v{ 0x3948EF95,0xF7FB,0x4B42,{ 0xAF,0xB0,0xDF,0x70,0xB4,0x15,0x43,0xC1 } }; // 3948EF95-F7FB-4B42-AFB0-DF70B41543C1 template <> inline constexpr guid guid_v{ 0xCDB780D1,0xE7BB,0x4D1A,{ 0x93,0x39,0x34,0xDC,0x41,0x14,0x9F,0x9B } }; // CDB780D1-E7BB-4D1A-9339-34DC41149F9B template <> inline constexpr guid guid_v{ 0x63686821,0x58B9,0x47EE,{ 0x93,0xD9,0xF0,0xF7,0x41,0xCF,0x43,0xF0 } }; // 63686821-58B9-47EE-93D9-F0F741CF43F0 template <> inline constexpr guid guid_v{ 0x28E3ED6A,0xE9E7,0x4A03,{ 0x9F,0x53,0xBD,0xB1,0x61,0x72,0x69,0x9B } }; // 28E3ED6A-E9E7-4A03-9F53-BDB16172699B template <> inline constexpr guid guid_v{ 0x425AB7E4,0xFEB7,0x44FC,{ 0xB3,0xBB,0xC3,0xC4,0xD7,0xEC,0xBE,0xBB } }; // 425AB7E4-FEB7-44FC-B3BB-C3C4D7ECBEBB template <> inline constexpr guid guid_v{ 0x7ED4180B,0x92E8,0x42D5,{ 0x83,0xD4,0x25,0x44,0x0B,0x42,0x35,0x49 } }; // 7ED4180B-92E8-42D5-83D4-25440B423549 template <> inline constexpr guid guid_v{ 0xD5703E18,0xA08D,0x47E6,{ 0xA2,0x40,0x99,0x34,0xD7,0x16,0x5E,0xB5 } }; // D5703E18-A08D-47E6-A240-9934D7165EB5 template <> inline constexpr guid guid_v{ 0xABF7527A,0x8435,0x417F,{ 0x99,0xB6,0x51,0xBE,0xAF,0x36,0x58,0x88 } }; // ABF7527A-8435-417F-99B6-51BEAF365888 template <> inline constexpr guid guid_v{ 0xC0BFFC66,0x8C3D,0x4D56,{ 0x88,0x04,0xC6,0x8F,0x0A,0xD3,0x2E,0xC5 } }; // C0BFFC66-8C3D-4D56-8804-C68F0AD32EC5 template <> inline constexpr guid guid_v{ 0xB68F9A8C,0x39E0,0x4649,{ 0xB2,0xE4,0x07,0x0A,0xB8,0xA5,0x79,0xB3 } }; // B68F9A8C-39E0-4649-B2E4-070AB8A579B3 template <> inline constexpr guid guid_v{ 0x48FF9E8C,0x6A6F,0x4D9F,{ 0xBC,0xED,0x18,0xAB,0x53,0x7A,0xA0,0x15 } }; // 48FF9E8C-6A6F-4D9F-BCED-18AB537AA015 template <> inline constexpr guid guid_v{ 0x20B794DB,0xCCBD,0x490F,{ 0x8C,0x83,0x49,0xCC,0xB7,0x7A,0xEA,0x6C } }; // 20B794DB-CCBD-490F-8C83-49CCB77AEA6C template <> inline constexpr guid guid_v{ 0xFA4EA8E9,0xEF13,0x405A,{ 0xB1,0x2C,0xD7,0x34,0x8C,0x6F,0x41,0xFC } }; // FA4EA8E9-EF13-405A-B12C-D7348C6F41FC template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IBufferProtectUnprotectResult; }; template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IDataProtectionInfo; }; template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IFileProtectionInfo; }; template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IFileUnprotectOptions; }; template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IProtectedAccessResumedEventArgs; }; template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IProtectedAccessSuspendingEventArgs; }; template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IProtectedContainerExportResult; }; template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IProtectedContainerImportResult; }; template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IProtectedContentRevokedEventArgs; }; template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IProtectedFileCreateResult; }; template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IProtectionPolicyAuditInfo; }; template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IProtectionPolicyManager; }; template <> struct default_interface{ using type = winrt::Windows::Security::EnterpriseData::IThreadNetworkContext; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Buffer(void**) noexcept = 0; virtual int32_t __stdcall get_ProtectionInfo(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; virtual int32_t __stdcall get_Identity(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall ProtectAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall UnprotectAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall ProtectStreamAsync(void*, void*, void*, void**) noexcept = 0; virtual int32_t __stdcall UnprotectStreamAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall GetProtectionInfoAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall GetStreamProtectionInfoAsync(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; virtual int32_t __stdcall get_IsRoamable(bool*) noexcept = 0; virtual int32_t __stdcall get_Identity(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_IsProtectWhileOpenSupported(bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall ProtectAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall CopyProtectionAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall GetProtectionInfoAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall SaveFileAsContainerAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall LoadFileFromContainerAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall LoadFileFromContainerWithTargetAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall CreateProtectedAndOpenAsync(void*, void*, void*, int32_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall IsContainerAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall LoadFileFromContainerWithTargetAndNameCollisionOptionAsync(void*, void*, int32_t, void**) noexcept = 0; virtual int32_t __stdcall SaveFileAsContainerWithSharingAsync(void*, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall UnprotectAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall UnprotectWithOptionsAsync(void*, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall ProtectAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall CopyProtectionAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall Revoke(void*) noexcept = 0; virtual int32_t __stdcall GetStatusAsync(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall put_Audit(bool) noexcept = 0; virtual int32_t __stdcall get_Audit(bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(bool, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Identities(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Identities(void**) noexcept = 0; virtual int32_t __stdcall get_Deadline(int64_t*) noexcept = 0; virtual int32_t __stdcall GetDeferral(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; virtual int32_t __stdcall get_File(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; virtual int32_t __stdcall get_File(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Identities(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_File(void**) noexcept = 0; virtual int32_t __stdcall get_Stream(void**) noexcept = 0; virtual int32_t __stdcall get_ProtectionInfo(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall put_Action(int32_t) noexcept = 0; virtual int32_t __stdcall get_Action(int32_t*) noexcept = 0; virtual int32_t __stdcall put_DataDescription(void*) noexcept = 0; virtual int32_t __stdcall get_DataDescription(void**) noexcept = 0; virtual int32_t __stdcall put_SourceDescription(void*) noexcept = 0; virtual int32_t __stdcall get_SourceDescription(void**) noexcept = 0; virtual int32_t __stdcall put_TargetDescription(void*) noexcept = 0; virtual int32_t __stdcall get_TargetDescription(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(int32_t, void*, void*, void*, void**) noexcept = 0; virtual int32_t __stdcall CreateWithActionAndDataDescription(int32_t, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall put_Identity(void*) noexcept = 0; virtual int32_t __stdcall get_Identity(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall put_ShowEnterpriseIndicator(bool) noexcept = 0; virtual int32_t __stdcall get_ShowEnterpriseIndicator(bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall IsIdentityManaged(void*, bool*) noexcept = 0; virtual int32_t __stdcall TryApplyProcessUIPolicy(void*, bool*) noexcept = 0; virtual int32_t __stdcall ClearProcessUIPolicy() noexcept = 0; virtual int32_t __stdcall CreateCurrentThreadNetworkContext(void*, void**) noexcept = 0; virtual int32_t __stdcall GetPrimaryManagedIdentityForNetworkEndpointAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall RevokeContent(void*) noexcept = 0; virtual int32_t __stdcall GetForCurrentView(void**) noexcept = 0; virtual int32_t __stdcall add_ProtectedAccessSuspending(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_ProtectedAccessSuspending(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_ProtectedAccessResumed(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_ProtectedAccessResumed(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_ProtectedContentRevoked(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_ProtectedContentRevoked(winrt::event_token) noexcept = 0; virtual int32_t __stdcall CheckAccess(void*, void*, int32_t*) noexcept = 0; virtual int32_t __stdcall RequestAccessAsync(void*, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall HasContentBeenRevokedSince(void*, int64_t, bool*) noexcept = 0; virtual int32_t __stdcall CheckAccessForApp(void*, void*, int32_t*) noexcept = 0; virtual int32_t __stdcall RequestAccessForAppAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall GetEnforcementLevel(void*, int32_t*) noexcept = 0; virtual int32_t __stdcall IsUserDecryptionAllowed(void*, bool*) noexcept = 0; virtual int32_t __stdcall IsProtectionUnderLockRequired(void*, bool*) noexcept = 0; virtual int32_t __stdcall add_PolicyChanged(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_PolicyChanged(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_IsProtectionEnabled(bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall RequestAccessWithAuditingInfoAsync(void*, void*, void*, void**) noexcept = 0; virtual int32_t __stdcall RequestAccessWithMessageAsync(void*, void*, void*, void*, void**) noexcept = 0; virtual int32_t __stdcall RequestAccessForAppWithAuditingInfoAsync(void*, void*, void*, void**) noexcept = 0; virtual int32_t __stdcall RequestAccessForAppWithMessageAsync(void*, void*, void*, void*, void**) noexcept = 0; virtual int32_t __stdcall LogAuditEvent(void*, void*, void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall IsRoamableProtectionEnabled(void*, bool*) noexcept = 0; virtual int32_t __stdcall RequestAccessWithBehaviorAsync(void*, void*, void*, void*, int32_t, void**) noexcept = 0; virtual int32_t __stdcall RequestAccessForAppWithBehaviorAsync(void*, void*, void*, void*, int32_t, void**) noexcept = 0; virtual int32_t __stdcall RequestAccessToFilesForAppAsync(void*, void*, void*, void**) noexcept = 0; virtual int32_t __stdcall RequestAccessToFilesForAppWithMessageAndBehaviorAsync(void*, void*, void*, void*, int32_t, void**) noexcept = 0; virtual int32_t __stdcall RequestAccessToFilesForProcessAsync(void*, uint32_t, void*, void**) noexcept = 0; virtual int32_t __stdcall RequestAccessToFilesForProcessWithMessageAndBehaviorAsync(void*, uint32_t, void*, void*, int32_t, void**) noexcept = 0; virtual int32_t __stdcall IsFileProtectionRequiredAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall IsFileProtectionRequiredForNewFileAsync(void*, void*, void*, void**) noexcept = 0; virtual int32_t __stdcall get_PrimaryManagedIdentity(void**) noexcept = 0; virtual int32_t __stdcall GetPrimaryManagedIdentityForIdentity(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { }; }; template struct consume_Windows_Security_EnterpriseData_IBufferProtectUnprotectResult { [[nodiscard]] auto Buffer() const; [[nodiscard]] auto ProtectionInfo() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IBufferProtectUnprotectResult; }; template struct consume_Windows_Security_EnterpriseData_IDataProtectionInfo { [[nodiscard]] auto Status() const; [[nodiscard]] auto Identity() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IDataProtectionInfo; }; template struct consume_Windows_Security_EnterpriseData_IDataProtectionManagerStatics { auto ProtectAsync(winrt::Windows::Storage::Streams::IBuffer const& data, param::hstring const& identity) const; auto UnprotectAsync(winrt::Windows::Storage::Streams::IBuffer const& data) const; auto ProtectStreamAsync(winrt::Windows::Storage::Streams::IInputStream const& unprotectedStream, param::hstring const& identity, winrt::Windows::Storage::Streams::IOutputStream const& protectedStream) const; auto UnprotectStreamAsync(winrt::Windows::Storage::Streams::IInputStream const& protectedStream, winrt::Windows::Storage::Streams::IOutputStream const& unprotectedStream) const; auto GetProtectionInfoAsync(winrt::Windows::Storage::Streams::IBuffer const& protectedData) const; auto GetStreamProtectionInfoAsync(winrt::Windows::Storage::Streams::IInputStream const& protectedStream) const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IDataProtectionManagerStatics; }; template struct consume_Windows_Security_EnterpriseData_IFileProtectionInfo { [[nodiscard]] auto Status() const; [[nodiscard]] auto IsRoamable() const; [[nodiscard]] auto Identity() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IFileProtectionInfo; }; template struct consume_Windows_Security_EnterpriseData_IFileProtectionInfo2 { [[nodiscard]] auto IsProtectWhileOpenSupported() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IFileProtectionInfo2; }; template struct consume_Windows_Security_EnterpriseData_IFileProtectionManagerStatics { auto ProtectAsync(winrt::Windows::Storage::IStorageItem const& target, param::hstring const& identity) const; auto CopyProtectionAsync(winrt::Windows::Storage::IStorageItem const& source, winrt::Windows::Storage::IStorageItem const& target) const; auto GetProtectionInfoAsync(winrt::Windows::Storage::IStorageItem const& source) const; auto SaveFileAsContainerAsync(winrt::Windows::Storage::IStorageFile const& protectedFile) const; auto LoadFileFromContainerAsync(winrt::Windows::Storage::IStorageFile const& containerFile) const; auto LoadFileFromContainerAsync(winrt::Windows::Storage::IStorageFile const& containerFile, winrt::Windows::Storage::IStorageItem const& target) const; auto CreateProtectedAndOpenAsync(winrt::Windows::Storage::IStorageFolder const& parentFolder, param::hstring const& desiredName, param::hstring const& identity, winrt::Windows::Storage::CreationCollisionOption const& collisionOption) const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IFileProtectionManagerStatics; }; template struct consume_Windows_Security_EnterpriseData_IFileProtectionManagerStatics2 { auto IsContainerAsync(winrt::Windows::Storage::IStorageFile const& file) const; auto LoadFileFromContainerAsync(winrt::Windows::Storage::IStorageFile const& containerFile, winrt::Windows::Storage::IStorageItem const& target, winrt::Windows::Storage::NameCollisionOption const& collisionOption) const; auto SaveFileAsContainerAsync(winrt::Windows::Storage::IStorageFile const& protectedFile, param::async_iterable const& sharedWithIdentities) const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IFileProtectionManagerStatics2; }; template struct consume_Windows_Security_EnterpriseData_IFileProtectionManagerStatics3 { auto UnprotectAsync(winrt::Windows::Storage::IStorageItem const& target) const; auto UnprotectAsync(winrt::Windows::Storage::IStorageItem const& target, winrt::Windows::Security::EnterpriseData::FileUnprotectOptions const& options) const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IFileProtectionManagerStatics3; }; template struct consume_Windows_Security_EnterpriseData_IFileRevocationManagerStatics { auto ProtectAsync(winrt::Windows::Storage::IStorageItem const& storageItem, param::hstring const& enterpriseIdentity) const; auto CopyProtectionAsync(winrt::Windows::Storage::IStorageItem const& sourceStorageItem, winrt::Windows::Storage::IStorageItem const& targetStorageItem) const; auto Revoke(param::hstring const& enterpriseIdentity) const; auto GetStatusAsync(winrt::Windows::Storage::IStorageItem const& storageItem) const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IFileRevocationManagerStatics; }; template struct consume_Windows_Security_EnterpriseData_IFileUnprotectOptions { auto Audit(bool value) const; [[nodiscard]] auto Audit() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IFileUnprotectOptions; }; template struct consume_Windows_Security_EnterpriseData_IFileUnprotectOptionsFactory { auto Create(bool audit) const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IFileUnprotectOptionsFactory; }; template struct consume_Windows_Security_EnterpriseData_IProtectedAccessResumedEventArgs { [[nodiscard]] auto Identities() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectedAccessResumedEventArgs; }; template struct consume_Windows_Security_EnterpriseData_IProtectedAccessSuspendingEventArgs { [[nodiscard]] auto Identities() const; [[nodiscard]] auto Deadline() const; auto GetDeferral() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectedAccessSuspendingEventArgs; }; template struct consume_Windows_Security_EnterpriseData_IProtectedContainerExportResult { [[nodiscard]] auto Status() const; [[nodiscard]] auto File() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectedContainerExportResult; }; template struct consume_Windows_Security_EnterpriseData_IProtectedContainerImportResult { [[nodiscard]] auto Status() const; [[nodiscard]] auto File() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectedContainerImportResult; }; template struct consume_Windows_Security_EnterpriseData_IProtectedContentRevokedEventArgs { [[nodiscard]] auto Identities() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectedContentRevokedEventArgs; }; template struct consume_Windows_Security_EnterpriseData_IProtectedFileCreateResult { [[nodiscard]] auto File() const; [[nodiscard]] auto Stream() const; [[nodiscard]] auto ProtectionInfo() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectedFileCreateResult; }; template struct consume_Windows_Security_EnterpriseData_IProtectionPolicyAuditInfo { auto Action(winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditAction const& value) const; [[nodiscard]] auto Action() const; auto DataDescription(param::hstring const& value) const; [[nodiscard]] auto DataDescription() const; auto SourceDescription(param::hstring const& value) const; [[nodiscard]] auto SourceDescription() const; auto TargetDescription(param::hstring const& value) const; [[nodiscard]] auto TargetDescription() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectionPolicyAuditInfo; }; template struct consume_Windows_Security_EnterpriseData_IProtectionPolicyAuditInfoFactory { auto Create(winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditAction const& action, param::hstring const& dataDescription, param::hstring const& sourceDescription, param::hstring const& targetDescription) const; auto CreateWithActionAndDataDescription(winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditAction const& action, param::hstring const& dataDescription) const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectionPolicyAuditInfoFactory; }; template struct consume_Windows_Security_EnterpriseData_IProtectionPolicyManager { auto Identity(param::hstring const& value) const; [[nodiscard]] auto Identity() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectionPolicyManager; }; template struct consume_Windows_Security_EnterpriseData_IProtectionPolicyManager2 { auto ShowEnterpriseIndicator(bool value) const; [[nodiscard]] auto ShowEnterpriseIndicator() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectionPolicyManager2; }; template struct consume_Windows_Security_EnterpriseData_IProtectionPolicyManagerStatics { auto IsIdentityManaged(param::hstring const& identity) const; auto TryApplyProcessUIPolicy(param::hstring const& identity) const; auto ClearProcessUIPolicy() const; auto CreateCurrentThreadNetworkContext(param::hstring const& identity) const; auto GetPrimaryManagedIdentityForNetworkEndpointAsync(winrt::Windows::Networking::HostName const& endpointHost) const; auto RevokeContent(param::hstring const& identity) const; auto GetForCurrentView() const; auto ProtectedAccessSuspending(winrt::Windows::Foundation::EventHandler const& handler) const; using ProtectedAccessSuspending_revoker = impl::event_revoker::remove_ProtectedAccessSuspending>; [[nodiscard]] auto ProtectedAccessSuspending(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& handler) const; auto ProtectedAccessSuspending(winrt::event_token const& token) const noexcept; auto ProtectedAccessResumed(winrt::Windows::Foundation::EventHandler const& handler) const; using ProtectedAccessResumed_revoker = impl::event_revoker::remove_ProtectedAccessResumed>; [[nodiscard]] auto ProtectedAccessResumed(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& handler) const; auto ProtectedAccessResumed(winrt::event_token const& token) const noexcept; auto ProtectedContentRevoked(winrt::Windows::Foundation::EventHandler const& handler) const; using ProtectedContentRevoked_revoker = impl::event_revoker::remove_ProtectedContentRevoked>; [[nodiscard]] auto ProtectedContentRevoked(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& handler) const; auto ProtectedContentRevoked(winrt::event_token const& token) const noexcept; auto CheckAccess(param::hstring const& sourceIdentity, param::hstring const& targetIdentity) const; auto RequestAccessAsync(param::hstring const& sourceIdentity, param::hstring const& targetIdentity) const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectionPolicyManagerStatics; }; template struct consume_Windows_Security_EnterpriseData_IProtectionPolicyManagerStatics2 { auto HasContentBeenRevokedSince(param::hstring const& identity, winrt::Windows::Foundation::DateTime const& since) const; auto CheckAccessForApp(param::hstring const& sourceIdentity, param::hstring const& appPackageFamilyName) const; auto RequestAccessForAppAsync(param::hstring const& sourceIdentity, param::hstring const& appPackageFamilyName) const; auto GetEnforcementLevel(param::hstring const& identity) const; auto IsUserDecryptionAllowed(param::hstring const& identity) const; auto IsProtectionUnderLockRequired(param::hstring const& identity) const; auto PolicyChanged(winrt::Windows::Foundation::EventHandler const& handler) const; using PolicyChanged_revoker = impl::event_revoker::remove_PolicyChanged>; [[nodiscard]] auto PolicyChanged(auto_revoke_t, winrt::Windows::Foundation::EventHandler const& handler) const; auto PolicyChanged(winrt::event_token const& token) const noexcept; [[nodiscard]] auto IsProtectionEnabled() const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectionPolicyManagerStatics2; }; template struct consume_Windows_Security_EnterpriseData_IProtectionPolicyManagerStatics3 { auto RequestAccessAsync(param::hstring const& sourceIdentity, param::hstring const& targetIdentity, winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo const& auditInfo) const; auto RequestAccessAsync(param::hstring const& sourceIdentity, param::hstring const& targetIdentity, winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo const& auditInfo, param::hstring const& messageFromApp) const; auto RequestAccessForAppAsync(param::hstring const& sourceIdentity, param::hstring const& appPackageFamilyName, winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo const& auditInfo) const; auto RequestAccessForAppAsync(param::hstring const& sourceIdentity, param::hstring const& appPackageFamilyName, winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo const& auditInfo, param::hstring const& messageFromApp) const; auto LogAuditEvent(param::hstring const& sourceIdentity, param::hstring const& targetIdentity, winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo const& auditInfo) const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectionPolicyManagerStatics3; }; template struct consume_Windows_Security_EnterpriseData_IProtectionPolicyManagerStatics4 { auto IsRoamableProtectionEnabled(param::hstring const& identity) const; auto RequestAccessAsync(param::hstring const& sourceIdentity, param::hstring const& targetIdentity, winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo const& auditInfo, param::hstring const& messageFromApp, winrt::Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior const& behavior) const; auto RequestAccessForAppAsync(param::hstring const& sourceIdentity, param::hstring const& appPackageFamilyName, winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo const& auditInfo, param::hstring const& messageFromApp, winrt::Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior const& behavior) const; auto RequestAccessToFilesForAppAsync(param::async_iterable const& sourceItemList, param::hstring const& appPackageFamilyName, winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo const& auditInfo) const; auto RequestAccessToFilesForAppAsync(param::async_iterable const& sourceItemList, param::hstring const& appPackageFamilyName, winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo const& auditInfo, param::hstring const& messageFromApp, winrt::Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior const& behavior) const; auto RequestAccessToFilesForProcessAsync(param::async_iterable const& sourceItemList, uint32_t processId, winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo const& auditInfo) const; auto RequestAccessToFilesForProcessAsync(param::async_iterable const& sourceItemList, uint32_t processId, winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo const& auditInfo, param::hstring const& messageFromApp, winrt::Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior const& behavior) const; auto IsFileProtectionRequiredAsync(winrt::Windows::Storage::IStorageItem const& target, param::hstring const& identity) const; auto IsFileProtectionRequiredForNewFileAsync(winrt::Windows::Storage::IStorageFolder const& parentFolder, param::hstring const& identity, param::hstring const& desiredName) const; [[nodiscard]] auto PrimaryManagedIdentity() const; auto GetPrimaryManagedIdentityForIdentity(param::hstring const& identity) const; }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IProtectionPolicyManagerStatics4; }; template struct consume_Windows_Security_EnterpriseData_IThreadNetworkContext { }; template <> struct consume { template using type = consume_Windows_Security_EnterpriseData_IThreadNetworkContext; }; } #endif