// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Security_Cryptography_Certificates_0_H #define WINRT_Windows_Security_Cryptography_Certificates_0_H WINRT_EXPORT namespace winrt::Windows::Foundation { struct IAsyncAction; } 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::Streams { struct IBuffer; struct IInputStream; } WINRT_EXPORT namespace winrt::Windows::Security::Cryptography::Certificates { enum class CertificateChainPolicy : int32_t { Base = 0, Ssl = 1, NTAuthentication = 2, MicrosoftRoot = 3, }; enum class ChainValidationResult : int32_t { Success = 0, Untrusted = 1, Revoked = 2, Expired = 3, IncompleteChain = 4, InvalidSignature = 5, WrongUsage = 6, InvalidName = 7, InvalidCertificateAuthorityPolicy = 8, BasicConstraintsError = 9, UnknownCriticalExtension = 10, RevocationInformationMissing = 11, RevocationFailure = 12, OtherErrors = 13, }; enum class EnrollKeyUsages : uint32_t { None = 0, Decryption = 0x1, Signing = 0x2, KeyAgreement = 0x4, All = 0xffffff, }; enum class ExportOption : int32_t { NotExportable = 0, Exportable = 1, }; enum class InstallOptions : uint32_t { None = 0, DeleteExpired = 0x1, }; enum class KeyProtectionLevel : int32_t { NoConsent = 0, ConsentOnly = 1, ConsentWithPassword = 2, ConsentWithFingerprint = 3, }; enum class KeySize : int32_t { Invalid = 0, Rsa2048 = 2048, Rsa4096 = 4096, }; enum class SignatureValidationResult : int32_t { Success = 0, InvalidParameter = 1, BadMessage = 2, InvalidSignature = 3, OtherErrors = 4, }; struct ICertificate; struct ICertificate2; struct ICertificate3; struct ICertificateChain; struct ICertificateEnrollmentManagerStatics; struct ICertificateEnrollmentManagerStatics2; struct ICertificateEnrollmentManagerStatics3; struct ICertificateExtension; struct ICertificateFactory; struct ICertificateKeyUsages; struct ICertificateQuery; struct ICertificateQuery2; struct ICertificateRequestProperties; struct ICertificateRequestProperties2; struct ICertificateRequestProperties3; struct ICertificateRequestProperties4; struct ICertificateStore; struct ICertificateStore2; struct ICertificateStoresStatics; struct ICertificateStoresStatics2; struct IChainBuildingParameters; struct IChainValidationParameters; struct ICmsAttachedSignature; struct ICmsAttachedSignatureFactory; struct ICmsAttachedSignatureStatics; struct ICmsDetachedSignature; struct ICmsDetachedSignatureFactory; struct ICmsDetachedSignatureStatics; struct ICmsSignerInfo; struct ICmsTimestampInfo; struct IKeyAlgorithmNamesStatics; struct IKeyAlgorithmNamesStatics2; struct IKeyAttestationHelperStatics; struct IKeyAttestationHelperStatics2; struct IKeyStorageProviderNamesStatics; struct IKeyStorageProviderNamesStatics2; struct IPfxImportParameters; struct IStandardCertificateStoreNamesStatics; struct ISubjectAlternativeNameInfo; struct ISubjectAlternativeNameInfo2; struct IUserCertificateEnrollmentManager; struct IUserCertificateEnrollmentManager2; struct IUserCertificateStore; struct Certificate; struct CertificateChain; struct CertificateEnrollmentManager; struct CertificateExtension; struct CertificateKeyUsages; struct CertificateQuery; struct CertificateRequestProperties; struct CertificateStore; struct CertificateStores; struct ChainBuildingParameters; struct ChainValidationParameters; struct CmsAttachedSignature; struct CmsDetachedSignature; struct CmsSignerInfo; struct CmsTimestampInfo; struct KeyAlgorithmNames; struct KeyAttestationHelper; struct KeyStorageProviderNames; struct PfxImportParameters; struct StandardCertificateStoreNames; struct SubjectAlternativeNameInfo; struct UserCertificateEnrollmentManager; struct UserCertificateStore; } 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 = 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 = 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 <> struct category{ using type = enum_category; }; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.Certificate"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CertificateChain"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CertificateEnrollmentManager"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CertificateExtension"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CertificateKeyUsages"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CertificateQuery"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CertificateRequestProperties"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CertificateStore"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CertificateStores"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ChainBuildingParameters"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ChainValidationParameters"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CmsAttachedSignature"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CmsDetachedSignature"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CmsSignerInfo"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CmsTimestampInfo"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.KeyAlgorithmNames"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.KeyAttestationHelper"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.KeyStorageProviderNames"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.PfxImportParameters"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.StandardCertificateStoreNames"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.SubjectAlternativeNameInfo"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.UserCertificateEnrollmentManager"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.UserCertificateStore"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.CertificateChainPolicy"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ChainValidationResult"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.EnrollKeyUsages"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ExportOption"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.InstallOptions"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.KeyProtectionLevel"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.KeySize"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.SignatureValidationResult"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificate"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificate2"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificate3"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateChain"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateEnrollmentManagerStatics"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateEnrollmentManagerStatics2"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateEnrollmentManagerStatics3"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateExtension"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateFactory"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateKeyUsages"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateQuery"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateQuery2"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateRequestProperties"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateRequestProperties2"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateRequestProperties3"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateRequestProperties4"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateStore"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateStore2"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateStoresStatics"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICertificateStoresStatics2"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IChainBuildingParameters"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IChainValidationParameters"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICmsAttachedSignature"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICmsAttachedSignatureFactory"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICmsAttachedSignatureStatics"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICmsDetachedSignature"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICmsDetachedSignatureFactory"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICmsDetachedSignatureStatics"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICmsSignerInfo"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ICmsTimestampInfo"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IKeyAlgorithmNamesStatics"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IKeyAlgorithmNamesStatics2"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IKeyAttestationHelperStatics"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IKeyAttestationHelperStatics2"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IKeyStorageProviderNamesStatics"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IKeyStorageProviderNamesStatics2"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IPfxImportParameters"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IStandardCertificateStoreNamesStatics"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ISubjectAlternativeNameInfo"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.ISubjectAlternativeNameInfo2"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IUserCertificateEnrollmentManager"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IUserCertificateEnrollmentManager2"; template <> inline constexpr auto& name_v = L"Windows.Security.Cryptography.Certificates.IUserCertificateStore"; template <> inline constexpr guid guid_v{ 0x333F740C,0x04D8,0x43B3,{ 0xB2,0x78,0x8C,0x5F,0xCC,0x9B,0xE5,0xA0 } }; // 333F740C-04D8-43B3-B278-8C5FCC9BE5A0 template <> inline constexpr guid guid_v{ 0x17B8374C,0x8A25,0x4D96,{ 0xA4,0x92,0x8F,0xC2,0x9A,0xC4,0xFD,0xA6 } }; // 17B8374C-8A25-4D96-A492-8FC29AC4FDA6 template <> inline constexpr guid guid_v{ 0xBE51A966,0xAE5F,0x4652,{ 0xAC,0xE7,0xC6,0xD7,0xE7,0x72,0x4C,0xF3 } }; // BE51A966-AE5F-4652-ACE7-C6D7E7724CF3 template <> inline constexpr guid guid_v{ 0x20BF5385,0x3691,0x4501,{ 0xA6,0x2C,0xFD,0x97,0x27,0x8B,0x31,0xEE } }; // 20BF5385-3691-4501-A62C-FD97278B31EE template <> inline constexpr guid guid_v{ 0x8846EF3F,0xA986,0x48FB,{ 0x9F,0xD7,0x9A,0xEC,0x06,0x93,0x5B,0xF1 } }; // 8846EF3F-A986-48FB-9FD7-9AEC06935BF1 template <> inline constexpr guid guid_v{ 0xDC5B1C33,0x6429,0x4014,{ 0x99,0x9C,0x5D,0x97,0x35,0x80,0x2D,0x1D } }; // DC5B1C33-6429-4014-999C-5D9735802D1D template <> inline constexpr guid guid_v{ 0xFDEC82BE,0x617C,0x425A,{ 0xB7,0x2D,0x39,0x8B,0x26,0xAC,0x72,0x64 } }; // FDEC82BE-617C-425A-B72D-398B26AC7264 template <> inline constexpr guid guid_v{ 0x84CF0656,0xA9E6,0x454D,{ 0x8E,0x45,0x2E,0xA7,0xC4,0xBC,0xD5,0x3B } }; // 84CF0656-A9E6-454D-8E45-2EA7C4BCD53B template <> inline constexpr guid guid_v{ 0x17B4221C,0x4BAF,0x44A2,{ 0x96,0x08,0x04,0xFB,0x62,0xB1,0x69,0x42 } }; // 17B4221C-4BAF-44A2-9608-04FB62B16942 template <> inline constexpr guid guid_v{ 0x6AC6206F,0xE1CF,0x486A,{ 0xB4,0x85,0xA6,0x9C,0x83,0xE4,0x6F,0xD1 } }; // 6AC6206F-E1CF-486A-B485-A69C83E46FD1 template <> inline constexpr guid guid_v{ 0x5B082A31,0xA728,0x4916,{ 0xB5,0xEE,0xFF,0xCB,0x8A,0xCF,0x24,0x17 } }; // 5B082A31-A728-4916-B5EE-FFCB8ACF2417 template <> inline constexpr guid guid_v{ 0x935A0AF7,0x0BD9,0x4F75,{ 0xB8,0xC2,0xE2,0x7A,0x7F,0x74,0xEE,0xCD } }; // 935A0AF7-0BD9-4F75-B8C2-E27A7F74EECD template <> inline constexpr guid guid_v{ 0x487E84F6,0x94E2,0x4DCE,{ 0x88,0x33,0x1A,0x70,0x0A,0x37,0xA2,0x9A } }; // 487E84F6-94E2-4DCE-8833-1A700A37A29A template <> inline constexpr guid guid_v{ 0x3DA0C954,0xD73F,0x4FF3,{ 0xA0,0xA6,0x06,0x77,0xC0,0xAD,0xA0,0x5B } }; // 3DA0C954-D73F-4FF3-A0A6-0677C0ADA05B template <> inline constexpr guid guid_v{ 0xE687F616,0x734D,0x46B1,{ 0x9D,0x4C,0x6E,0xDF,0xDB,0xFC,0x84,0x5B } }; // E687F616-734D-46B1-9D4C-6EDFDBFC845B template <> inline constexpr guid guid_v{ 0x4E429AD2,0x1C61,0x4FEA,{ 0xB8,0xFE,0x13,0x5F,0xB1,0x9C,0xDC,0xE4 } }; // 4E429AD2-1C61-4FEA-B8FE-135FB19CDCE4 template <> inline constexpr guid guid_v{ 0xB0BFF720,0x344E,0x4331,{ 0xAF,0x14,0xA7,0xF7,0xA7,0xEB,0xC9,0x3A } }; // B0BFF720-344E-4331-AF14-A7F7A7EBC93A template <> inline constexpr guid guid_v{ 0xC7E68E4A,0x417D,0x4D1A,{ 0xBA,0xBD,0x15,0x68,0x7E,0x54,0x99,0x74 } }; // C7E68E4A-417D-4D1A-BABD-15687E549974 template <> inline constexpr guid guid_v{ 0xFBECC739,0xC6FE,0x4DE7,{ 0x99,0xCF,0x74,0xC3,0xE5,0x96,0xE0,0x32 } }; // FBECC739-C6FE-4DE7-99CF-74C3E596E032 template <> inline constexpr guid guid_v{ 0xFA900B79,0xA0D4,0x4B8C,{ 0xBC,0x55,0xC0,0xA3,0x7E,0xB1,0x41,0xED } }; // FA900B79-A0D4-4B8C-BC55-C0A37EB141ED template <> inline constexpr guid guid_v{ 0x422BA922,0x7C8D,0x47B7,{ 0xB5,0x9B,0xB1,0x27,0x03,0x73,0x3A,0xC3 } }; // 422BA922-7C8D-47B7-B59B-B12703733AC3 template <> inline constexpr guid guid_v{ 0xC4743B4A,0x7EB0,0x4B56,{ 0xA0,0x40,0xB9,0xC8,0xE6,0x55,0xDD,0xF3 } }; // C4743B4A-7EB0-4B56-A040-B9C8E655DDF3 template <> inline constexpr guid guid_v{ 0x61899D9D,0x3757,0x4ECB,{ 0xBD,0xDC,0x0C,0xA3,0x57,0xD7,0xA9,0x36 } }; // 61899D9D-3757-4ECB-BDDC-0CA357D7A936 template <> inline constexpr guid guid_v{ 0xD0C8FC15,0xF757,0x4C64,{ 0xA3,0x62,0x52,0xCC,0x1C,0x77,0xCF,0xFB } }; // D0C8FC15-F757-4C64-A362-52CC1C77CFFB template <> inline constexpr guid guid_v{ 0x87989C8E,0xB0AD,0x498D,{ 0xA7,0xF5,0x78,0xB5,0x9B,0xCE,0x4B,0x36 } }; // 87989C8E-B0AD-498D-A7F5-78B59BCE4B36 template <> inline constexpr guid guid_v{ 0x0F1EF154,0xF65E,0x4536,{ 0x83,0x39,0x59,0x44,0x08,0x1D,0xB2,0xCA } }; // 0F1EF154-F65E-4536-8339-5944081DB2CA template <> inline constexpr guid guid_v{ 0xC4AB3503,0xAE7F,0x4387,{ 0xAD,0x19,0x00,0xF1,0x50,0xE4,0x8E,0xBB } }; // C4AB3503-AE7F-4387-AD19-00F150E48EBB template <> inline constexpr guid guid_v{ 0x3D114CFD,0xBF9B,0x4682,{ 0x9B,0xE6,0x91,0xF5,0x7C,0x05,0x38,0x08 } }; // 3D114CFD-BF9B-4682-9BE6-91F57C053808 template <> inline constexpr guid guid_v{ 0x50D020DB,0x1D2F,0x4C1A,{ 0xB5,0xC5,0xD0,0x18,0x8F,0xF9,0x1F,0x47 } }; // 50D020DB-1D2F-4C1A-B5C5-D0188FF91F47 template <> inline constexpr guid guid_v{ 0x2F5F00F2,0x2C18,0x4F88,{ 0x84,0x35,0xC5,0x34,0x08,0x60,0x76,0xF5 } }; // 2F5F00F2-2C18-4F88-8435-C534086076F5 template <> inline constexpr guid guid_v{ 0x479065D7,0x7AC7,0x4581,{ 0x8C,0x3B,0xD0,0x70,0x27,0x14,0x04,0x48 } }; // 479065D7-7AC7-4581-8C3B-D07027140448 template <> inline constexpr guid guid_v{ 0xC99B5686,0xE1FD,0x4A4A,{ 0x89,0x3D,0xA2,0x6F,0x33,0xDD,0x8B,0xB4 } }; // C99B5686-E1FD-4A4A-893D-A26F33DD8BB4 template <> inline constexpr guid guid_v{ 0x1648E246,0xF644,0x4326,{ 0x88,0xBE,0x3A,0xF1,0x02,0xD3,0x0E,0x0C } }; // 1648E246-F644-4326-88BE-3AF102D30E0C template <> inline constexpr guid guid_v{ 0x9C590B2C,0xA6C6,0x4A5E,{ 0x9E,0x64,0xE8,0x5D,0x52,0x79,0xDF,0x97 } }; // 9C590B2C-A6C6-4A5E-9E64-E85D5279DF97 template <> inline constexpr guid guid_v{ 0xAF186AE0,0x5529,0x4602,{ 0xBD,0x94,0x0A,0xAB,0x91,0x95,0x7B,0x5C } }; // AF186AE0-5529-4602-BD94-0AAB91957B5C template <> inline constexpr guid guid_v{ 0x262D743D,0x9C2E,0x41CC,{ 0x88,0x12,0xC4,0xD9,0x71,0xDD,0x7C,0x60 } }; // 262D743D-9C2E-41CC-8812-C4D971DD7C60 template <> inline constexpr guid guid_v{ 0x680D3511,0x9A08,0x47C8,{ 0x86,0x4A,0x2E,0xDD,0x4D,0x8E,0xB4,0x6C } }; // 680D3511-9A08-47C8-864A-2EDD4D8EB46C template <> inline constexpr guid guid_v{ 0x0C154ADB,0xA496,0x41F8,{ 0x8F,0xE5,0x9E,0x96,0xF3,0x6E,0xFB,0xF8 } }; // 0C154ADB-A496-41F8-8FE5-9E96F36EFBF8 template <> inline constexpr guid guid_v{ 0x582859F1,0x569D,0x4C20,{ 0xBE,0x7B,0x4E,0x1C,0x9A,0x0B,0xC5,0x2B } }; // 582859F1-569D-4C20-BE7B-4E1C9A0BC52B template <> inline constexpr guid guid_v{ 0x437A78C6,0x1C51,0x41EA,{ 0xB3,0x4A,0x3D,0x65,0x43,0x98,0xA3,0x70 } }; // 437A78C6-1C51-41EA-B34A-3D654398A370 template <> inline constexpr guid guid_v{ 0x96313718,0x22E1,0x4819,{ 0xB2,0x0B,0xAB,0x46,0xA6,0xEC,0xA0,0x6E } }; // 96313718-22E1-4819-B20B-AB46A6ECA06E template <> inline constexpr guid guid_v{ 0x0DAD9CB1,0x65DE,0x492A,{ 0xB8,0x6D,0xFC,0x5C,0x48,0x2C,0x37,0x47 } }; // 0DAD9CB1-65DE-492A-B86D-FC5C482C3747 template <> inline constexpr guid guid_v{ 0xC9FB1D83,0x789F,0x4B4E,{ 0x91,0x80,0x04,0x5A,0x75,0x7A,0xAC,0x6D } }; // C9FB1D83-789F-4B4E-9180-045A757AAC6D template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::ICertificate; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::ICertificateChain; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::ICertificateExtension; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::ICertificateKeyUsages; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::ICertificateQuery; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::ICertificateRequestProperties; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::ICertificateStore; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::IChainBuildingParameters; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::IChainValidationParameters; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::ICmsAttachedSignature; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::ICmsDetachedSignature; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::ICmsSignerInfo; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::ICmsTimestampInfo; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::IPfxImportParameters; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::ISubjectAlternativeNameInfo; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::IUserCertificateEnrollmentManager; }; template <> struct default_interface{ using type = winrt::Windows::Security::Cryptography::Certificates::IUserCertificateStore; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall BuildChainAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall BuildChainWithParametersAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall get_SerialNumber(uint32_t* __valueSize, uint8_t**) noexcept = 0; virtual int32_t __stdcall GetHashValue(uint32_t* __valueSize, uint8_t**) noexcept = 0; virtual int32_t __stdcall GetHashValueWithAlgorithm(void*, uint32_t* __valueSize, uint8_t**) noexcept = 0; virtual int32_t __stdcall GetCertificateBlob(void**) noexcept = 0; virtual int32_t __stdcall get_Subject(void**) noexcept = 0; virtual int32_t __stdcall get_Issuer(void**) noexcept = 0; virtual int32_t __stdcall get_HasPrivateKey(bool*) noexcept = 0; virtual int32_t __stdcall get_IsStronglyProtected(bool*) noexcept = 0; virtual int32_t __stdcall get_ValidFrom(int64_t*) noexcept = 0; virtual int32_t __stdcall get_ValidTo(int64_t*) noexcept = 0; virtual int32_t __stdcall get_EnhancedKeyUsages(void**) noexcept = 0; virtual int32_t __stdcall put_FriendlyName(void*) noexcept = 0; virtual int32_t __stdcall get_FriendlyName(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_IsSecurityDeviceBound(bool*) noexcept = 0; virtual int32_t __stdcall get_KeyUsages(void**) noexcept = 0; virtual int32_t __stdcall get_KeyAlgorithmName(void**) noexcept = 0; virtual int32_t __stdcall get_SignatureAlgorithmName(void**) noexcept = 0; virtual int32_t __stdcall get_SignatureHashAlgorithmName(void**) noexcept = 0; virtual int32_t __stdcall get_SubjectAlternativeName(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_IsPerUser(bool*) noexcept = 0; virtual int32_t __stdcall get_StoreName(void**) noexcept = 0; virtual int32_t __stdcall get_KeyStorageProviderName(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Validate(int32_t*) noexcept = 0; virtual int32_t __stdcall ValidateWithParameters(void*, int32_t*) noexcept = 0; virtual int32_t __stdcall GetCertificates(bool, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateRequestAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall InstallCertificateAsync(void*, uint32_t, void**) noexcept = 0; virtual int32_t __stdcall ImportPfxDataAsync(void*, void*, int32_t, int32_t, uint32_t, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_UserCertificateEnrollmentManager(void**) noexcept = 0; virtual int32_t __stdcall ImportPfxDataToKspAsync(void*, void*, int32_t, int32_t, uint32_t, void*, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall ImportPfxDataToKspWithParametersAsync(void*, void*, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_ObjectId(void**) noexcept = 0; virtual int32_t __stdcall put_ObjectId(void*) noexcept = 0; virtual int32_t __stdcall get_IsCritical(bool*) noexcept = 0; virtual int32_t __stdcall put_IsCritical(bool) noexcept = 0; virtual int32_t __stdcall EncodeValue(void*) noexcept = 0; virtual int32_t __stdcall get_Value(uint32_t* __valueSize, uint8_t**) noexcept = 0; virtual int32_t __stdcall put_Value(uint32_t, uint8_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateCertificate(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_EncipherOnly(bool*) noexcept = 0; virtual int32_t __stdcall put_EncipherOnly(bool) noexcept = 0; virtual int32_t __stdcall get_CrlSign(bool*) noexcept = 0; virtual int32_t __stdcall put_CrlSign(bool) noexcept = 0; virtual int32_t __stdcall get_KeyCertificateSign(bool*) noexcept = 0; virtual int32_t __stdcall put_KeyCertificateSign(bool) noexcept = 0; virtual int32_t __stdcall get_KeyAgreement(bool*) noexcept = 0; virtual int32_t __stdcall put_KeyAgreement(bool) noexcept = 0; virtual int32_t __stdcall get_DataEncipherment(bool*) noexcept = 0; virtual int32_t __stdcall put_DataEncipherment(bool) noexcept = 0; virtual int32_t __stdcall get_KeyEncipherment(bool*) noexcept = 0; virtual int32_t __stdcall put_KeyEncipherment(bool) noexcept = 0; virtual int32_t __stdcall get_NonRepudiation(bool*) noexcept = 0; virtual int32_t __stdcall put_NonRepudiation(bool) noexcept = 0; virtual int32_t __stdcall get_DigitalSignature(bool*) noexcept = 0; virtual int32_t __stdcall put_DigitalSignature(bool) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_EnhancedKeyUsages(void**) noexcept = 0; virtual int32_t __stdcall get_IssuerName(void**) noexcept = 0; virtual int32_t __stdcall put_IssuerName(void*) noexcept = 0; virtual int32_t __stdcall get_FriendlyName(void**) noexcept = 0; virtual int32_t __stdcall put_FriendlyName(void*) noexcept = 0; virtual int32_t __stdcall get_Thumbprint(uint32_t* __valueSize, uint8_t**) noexcept = 0; virtual int32_t __stdcall put_Thumbprint(uint32_t, uint8_t*) noexcept = 0; virtual int32_t __stdcall get_HardwareOnly(bool*) noexcept = 0; virtual int32_t __stdcall put_HardwareOnly(bool) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_IncludeDuplicates(bool*) noexcept = 0; virtual int32_t __stdcall put_IncludeDuplicates(bool) noexcept = 0; virtual int32_t __stdcall get_IncludeExpiredCertificates(bool*) noexcept = 0; virtual int32_t __stdcall put_IncludeExpiredCertificates(bool) noexcept = 0; virtual int32_t __stdcall get_StoreName(void**) noexcept = 0; virtual int32_t __stdcall put_StoreName(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Subject(void**) noexcept = 0; virtual int32_t __stdcall put_Subject(void*) noexcept = 0; virtual int32_t __stdcall get_KeyAlgorithmName(void**) noexcept = 0; virtual int32_t __stdcall put_KeyAlgorithmName(void*) noexcept = 0; virtual int32_t __stdcall get_KeySize(uint32_t*) noexcept = 0; virtual int32_t __stdcall put_KeySize(uint32_t) noexcept = 0; virtual int32_t __stdcall get_FriendlyName(void**) noexcept = 0; virtual int32_t __stdcall put_FriendlyName(void*) noexcept = 0; virtual int32_t __stdcall get_HashAlgorithmName(void**) noexcept = 0; virtual int32_t __stdcall put_HashAlgorithmName(void*) noexcept = 0; virtual int32_t __stdcall get_Exportable(int32_t*) noexcept = 0; virtual int32_t __stdcall put_Exportable(int32_t) noexcept = 0; virtual int32_t __stdcall get_KeyUsages(uint32_t*) noexcept = 0; virtual int32_t __stdcall put_KeyUsages(uint32_t) noexcept = 0; virtual int32_t __stdcall get_KeyProtectionLevel(int32_t*) noexcept = 0; virtual int32_t __stdcall put_KeyProtectionLevel(int32_t) noexcept = 0; virtual int32_t __stdcall get_KeyStorageProviderName(void**) noexcept = 0; virtual int32_t __stdcall put_KeyStorageProviderName(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_SmartcardReaderName(void**) noexcept = 0; virtual int32_t __stdcall put_SmartcardReaderName(void*) noexcept = 0; virtual int32_t __stdcall get_SigningCertificate(void**) noexcept = 0; virtual int32_t __stdcall put_SigningCertificate(void*) noexcept = 0; virtual int32_t __stdcall get_AttestationCredentialCertificate(void**) noexcept = 0; virtual int32_t __stdcall put_AttestationCredentialCertificate(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_CurveName(void**) noexcept = 0; virtual int32_t __stdcall put_CurveName(void*) noexcept = 0; virtual int32_t __stdcall get_CurveParameters(uint32_t* __valueSize, uint8_t**) noexcept = 0; virtual int32_t __stdcall put_CurveParameters(uint32_t, uint8_t*) noexcept = 0; virtual int32_t __stdcall get_ContainerNamePrefix(void**) noexcept = 0; virtual int32_t __stdcall put_ContainerNamePrefix(void*) noexcept = 0; virtual int32_t __stdcall get_ContainerName(void**) noexcept = 0; virtual int32_t __stdcall put_ContainerName(void*) noexcept = 0; virtual int32_t __stdcall get_UseExistingKey(bool*) noexcept = 0; virtual int32_t __stdcall put_UseExistingKey(bool) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_SuppressedDefaults(void**) noexcept = 0; virtual int32_t __stdcall get_SubjectAlternativeName(void**) noexcept = 0; virtual int32_t __stdcall get_Extensions(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Add(void*) noexcept = 0; virtual int32_t __stdcall Delete(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Name(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall FindAllAsync(void**) noexcept = 0; virtual int32_t __stdcall FindAllWithQueryAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall get_TrustedRootCertificationAuthorities(void**) noexcept = 0; virtual int32_t __stdcall get_IntermediateCertificationAuthorities(void**) noexcept = 0; virtual int32_t __stdcall GetStoreByName(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetUserStoreByName(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_EnhancedKeyUsages(void**) noexcept = 0; virtual int32_t __stdcall get_ValidationTimestamp(int64_t*) noexcept = 0; virtual int32_t __stdcall put_ValidationTimestamp(int64_t) noexcept = 0; virtual int32_t __stdcall get_RevocationCheckEnabled(bool*) noexcept = 0; virtual int32_t __stdcall put_RevocationCheckEnabled(bool) noexcept = 0; virtual int32_t __stdcall get_NetworkRetrievalEnabled(bool*) noexcept = 0; virtual int32_t __stdcall put_NetworkRetrievalEnabled(bool) noexcept = 0; virtual int32_t __stdcall get_AuthorityInformationAccessEnabled(bool*) noexcept = 0; virtual int32_t __stdcall put_AuthorityInformationAccessEnabled(bool) noexcept = 0; virtual int32_t __stdcall get_CurrentTimeValidationEnabled(bool*) noexcept = 0; virtual int32_t __stdcall put_CurrentTimeValidationEnabled(bool) noexcept = 0; virtual int32_t __stdcall get_ExclusiveTrustRoots(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_CertificateChainPolicy(int32_t*) noexcept = 0; virtual int32_t __stdcall put_CertificateChainPolicy(int32_t) noexcept = 0; virtual int32_t __stdcall get_ServerDnsName(void**) noexcept = 0; virtual int32_t __stdcall put_ServerDnsName(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Certificates(void**) noexcept = 0; virtual int32_t __stdcall get_Content(uint32_t* __valueSize, uint8_t**) noexcept = 0; virtual int32_t __stdcall get_Signers(void**) noexcept = 0; virtual int32_t __stdcall VerifySignature(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateCmsAttachedSignature(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GenerateSignatureAsync(void*, void*, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Certificates(void**) noexcept = 0; virtual int32_t __stdcall get_Signers(void**) noexcept = 0; virtual int32_t __stdcall VerifySignatureAsync(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateCmsDetachedSignature(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GenerateSignatureAsync(void*, void*, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Certificate(void**) noexcept = 0; virtual int32_t __stdcall put_Certificate(void*) noexcept = 0; virtual int32_t __stdcall get_HashAlgorithmName(void**) noexcept = 0; virtual int32_t __stdcall put_HashAlgorithmName(void*) noexcept = 0; virtual int32_t __stdcall get_TimestampInfo(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_SigningCertificate(void**) noexcept = 0; virtual int32_t __stdcall get_Certificates(void**) noexcept = 0; virtual int32_t __stdcall get_Timestamp(int64_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Rsa(void**) noexcept = 0; virtual int32_t __stdcall get_Dsa(void**) noexcept = 0; virtual int32_t __stdcall get_Ecdh256(void**) noexcept = 0; virtual int32_t __stdcall get_Ecdh384(void**) noexcept = 0; virtual int32_t __stdcall get_Ecdh521(void**) noexcept = 0; virtual int32_t __stdcall get_Ecdsa256(void**) noexcept = 0; virtual int32_t __stdcall get_Ecdsa384(void**) noexcept = 0; virtual int32_t __stdcall get_Ecdsa521(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Ecdsa(void**) noexcept = 0; virtual int32_t __stdcall get_Ecdh(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall DecryptTpmAttestationCredentialAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall GetTpmAttestationCredentialId(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall DecryptTpmAttestationCredentialWithContainerNameAsync(void*, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_SoftwareKeyStorageProvider(void**) noexcept = 0; virtual int32_t __stdcall get_SmartcardKeyStorageProvider(void**) noexcept = 0; virtual int32_t __stdcall get_PlatformKeyStorageProvider(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_PassportKeyStorageProvider(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Exportable(int32_t*) noexcept = 0; virtual int32_t __stdcall put_Exportable(int32_t) noexcept = 0; virtual int32_t __stdcall get_KeyProtectionLevel(int32_t*) noexcept = 0; virtual int32_t __stdcall put_KeyProtectionLevel(int32_t) noexcept = 0; virtual int32_t __stdcall get_InstallOptions(uint32_t*) noexcept = 0; virtual int32_t __stdcall put_InstallOptions(uint32_t) noexcept = 0; virtual int32_t __stdcall get_FriendlyName(void**) noexcept = 0; virtual int32_t __stdcall put_FriendlyName(void*) noexcept = 0; virtual int32_t __stdcall get_KeyStorageProviderName(void**) noexcept = 0; virtual int32_t __stdcall put_KeyStorageProviderName(void*) noexcept = 0; virtual int32_t __stdcall get_ContainerNamePrefix(void**) noexcept = 0; virtual int32_t __stdcall put_ContainerNamePrefix(void*) noexcept = 0; virtual int32_t __stdcall get_ReaderName(void**) noexcept = 0; virtual int32_t __stdcall put_ReaderName(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Personal(void**) noexcept = 0; virtual int32_t __stdcall get_TrustedRootCertificationAuthorities(void**) noexcept = 0; virtual int32_t __stdcall get_IntermediateCertificationAuthorities(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_EmailName(void**) noexcept = 0; virtual int32_t __stdcall get_IPAddress(void**) noexcept = 0; virtual int32_t __stdcall get_Url(void**) noexcept = 0; virtual int32_t __stdcall get_DnsName(void**) noexcept = 0; virtual int32_t __stdcall get_DistinguishedName(void**) noexcept = 0; virtual int32_t __stdcall get_PrincipalName(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_EmailNames(void**) noexcept = 0; virtual int32_t __stdcall get_IPAddresses(void**) noexcept = 0; virtual int32_t __stdcall get_Urls(void**) noexcept = 0; virtual int32_t __stdcall get_DnsNames(void**) noexcept = 0; virtual int32_t __stdcall get_DistinguishedNames(void**) noexcept = 0; virtual int32_t __stdcall get_PrincipalNames(void**) noexcept = 0; virtual int32_t __stdcall get_Extension(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateRequestAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall InstallCertificateAsync(void*, uint32_t, void**) noexcept = 0; virtual int32_t __stdcall ImportPfxDataAsync(void*, void*, int32_t, int32_t, uint32_t, void*, void**) noexcept = 0; virtual int32_t __stdcall ImportPfxDataToKspAsync(void*, void*, int32_t, int32_t, uint32_t, void*, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall ImportPfxDataToKspWithParametersAsync(void*, void*, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall RequestAddAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall RequestDeleteAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall get_Name(void**) noexcept = 0; }; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificate { auto BuildChainAsync(param::async_iterable const& certificates) const; auto BuildChainAsync(param::async_iterable const& certificates, winrt::Windows::Security::Cryptography::Certificates::ChainBuildingParameters const& parameters) const; [[nodiscard]] auto SerialNumber() const; auto GetHashValue() const; auto GetHashValue(param::hstring const& hashAlgorithmName) const; auto GetCertificateBlob() const; [[nodiscard]] auto Subject() const; [[nodiscard]] auto Issuer() const; [[nodiscard]] auto HasPrivateKey() const; [[nodiscard]] auto IsStronglyProtected() const; [[nodiscard]] auto ValidFrom() const; [[nodiscard]] auto ValidTo() const; [[nodiscard]] auto EnhancedKeyUsages() const; auto FriendlyName(param::hstring const& value) const; [[nodiscard]] auto FriendlyName() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificate; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificate2 { [[nodiscard]] auto IsSecurityDeviceBound() const; [[nodiscard]] auto KeyUsages() const; [[nodiscard]] auto KeyAlgorithmName() const; [[nodiscard]] auto SignatureAlgorithmName() const; [[nodiscard]] auto SignatureHashAlgorithmName() const; [[nodiscard]] auto SubjectAlternativeName() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificate2; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificate3 { [[nodiscard]] auto IsPerUser() const; [[nodiscard]] auto StoreName() const; [[nodiscard]] auto KeyStorageProviderName() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificate3; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateChain { auto Validate() const; auto Validate(winrt::Windows::Security::Cryptography::Certificates::ChainValidationParameters const& parameter) const; auto GetCertificates(bool includeRoot) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateChain; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateEnrollmentManagerStatics { auto CreateRequestAsync(winrt::Windows::Security::Cryptography::Certificates::CertificateRequestProperties const& request) const; auto InstallCertificateAsync(param::hstring const& certificate, winrt::Windows::Security::Cryptography::Certificates::InstallOptions const& installOption) const; auto ImportPfxDataAsync(param::hstring const& pfxData, param::hstring const& password, winrt::Windows::Security::Cryptography::Certificates::ExportOption const& exportable, winrt::Windows::Security::Cryptography::Certificates::KeyProtectionLevel const& keyProtectionLevel, winrt::Windows::Security::Cryptography::Certificates::InstallOptions const& installOption, param::hstring const& friendlyName) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateEnrollmentManagerStatics; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateEnrollmentManagerStatics2 { [[nodiscard]] auto UserCertificateEnrollmentManager() const; auto ImportPfxDataAsync(param::hstring const& pfxData, param::hstring const& password, winrt::Windows::Security::Cryptography::Certificates::ExportOption const& exportable, winrt::Windows::Security::Cryptography::Certificates::KeyProtectionLevel const& keyProtectionLevel, winrt::Windows::Security::Cryptography::Certificates::InstallOptions const& installOption, param::hstring const& friendlyName, param::hstring const& keyStorageProvider) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateEnrollmentManagerStatics2; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateEnrollmentManagerStatics3 { auto ImportPfxDataAsync(param::hstring const& pfxData, param::hstring const& password, winrt::Windows::Security::Cryptography::Certificates::PfxImportParameters const& pfxImportParameters) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateEnrollmentManagerStatics3; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateExtension { [[nodiscard]] auto ObjectId() const; auto ObjectId(param::hstring const& value) const; [[nodiscard]] auto IsCritical() const; auto IsCritical(bool value) const; auto EncodeValue(param::hstring const& value) const; [[nodiscard]] auto Value() const; auto Value(array_view value) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateExtension; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateFactory { auto CreateCertificate(winrt::Windows::Storage::Streams::IBuffer const& certBlob) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateFactory; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateKeyUsages { [[nodiscard]] auto EncipherOnly() const; auto EncipherOnly(bool value) const; [[nodiscard]] auto CrlSign() const; auto CrlSign(bool value) const; [[nodiscard]] auto KeyCertificateSign() const; auto KeyCertificateSign(bool value) const; [[nodiscard]] auto KeyAgreement() const; auto KeyAgreement(bool value) const; [[nodiscard]] auto DataEncipherment() const; auto DataEncipherment(bool value) const; [[nodiscard]] auto KeyEncipherment() const; auto KeyEncipherment(bool value) const; [[nodiscard]] auto NonRepudiation() const; auto NonRepudiation(bool value) const; [[nodiscard]] auto DigitalSignature() const; auto DigitalSignature(bool value) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateKeyUsages; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateQuery { [[nodiscard]] auto EnhancedKeyUsages() const; [[nodiscard]] auto IssuerName() const; auto IssuerName(param::hstring const& value) const; [[nodiscard]] auto FriendlyName() const; auto FriendlyName(param::hstring const& value) const; [[nodiscard]] auto Thumbprint() const; auto Thumbprint(array_view value) const; [[nodiscard]] auto HardwareOnly() const; auto HardwareOnly(bool value) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateQuery; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateQuery2 { [[nodiscard]] auto IncludeDuplicates() const; auto IncludeDuplicates(bool value) const; [[nodiscard]] auto IncludeExpiredCertificates() const; auto IncludeExpiredCertificates(bool value) const; [[nodiscard]] auto StoreName() const; auto StoreName(param::hstring const& value) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateQuery2; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateRequestProperties { [[nodiscard]] auto Subject() const; auto Subject(param::hstring const& value) const; [[nodiscard]] auto KeyAlgorithmName() const; auto KeyAlgorithmName(param::hstring const& value) const; [[nodiscard]] auto KeySize() const; auto KeySize(uint32_t value) const; [[nodiscard]] auto FriendlyName() const; auto FriendlyName(param::hstring const& value) const; [[nodiscard]] auto HashAlgorithmName() const; auto HashAlgorithmName(param::hstring const& value) const; [[nodiscard]] auto Exportable() const; auto Exportable(winrt::Windows::Security::Cryptography::Certificates::ExportOption const& value) const; [[nodiscard]] auto KeyUsages() const; auto KeyUsages(winrt::Windows::Security::Cryptography::Certificates::EnrollKeyUsages const& value) const; [[nodiscard]] auto KeyProtectionLevel() const; auto KeyProtectionLevel(winrt::Windows::Security::Cryptography::Certificates::KeyProtectionLevel const& value) const; [[nodiscard]] auto KeyStorageProviderName() const; auto KeyStorageProviderName(param::hstring const& value) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateRequestProperties; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateRequestProperties2 { [[nodiscard]] auto SmartcardReaderName() const; auto SmartcardReaderName(param::hstring const& value) const; [[nodiscard]] auto SigningCertificate() const; auto SigningCertificate(winrt::Windows::Security::Cryptography::Certificates::Certificate const& value) const; [[nodiscard]] auto AttestationCredentialCertificate() const; auto AttestationCredentialCertificate(winrt::Windows::Security::Cryptography::Certificates::Certificate const& value) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateRequestProperties2; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateRequestProperties3 { [[nodiscard]] auto CurveName() const; auto CurveName(param::hstring const& value) const; [[nodiscard]] auto CurveParameters() const; auto CurveParameters(array_view value) const; [[nodiscard]] auto ContainerNamePrefix() const; auto ContainerNamePrefix(param::hstring const& value) const; [[nodiscard]] auto ContainerName() const; auto ContainerName(param::hstring const& value) const; [[nodiscard]] auto UseExistingKey() const; auto UseExistingKey(bool value) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateRequestProperties3; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateRequestProperties4 { [[nodiscard]] auto SuppressedDefaults() const; [[nodiscard]] auto SubjectAlternativeName() const; [[nodiscard]] auto Extensions() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateRequestProperties4; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateStore { auto Add(winrt::Windows::Security::Cryptography::Certificates::Certificate const& certificate) const; auto Delete(winrt::Windows::Security::Cryptography::Certificates::Certificate const& certificate) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateStore; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateStore2 { [[nodiscard]] auto Name() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateStore2; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateStoresStatics { auto FindAllAsync() const; auto FindAllAsync(winrt::Windows::Security::Cryptography::Certificates::CertificateQuery const& query) const; [[nodiscard]] auto TrustedRootCertificationAuthorities() const; [[nodiscard]] auto IntermediateCertificationAuthorities() const; auto GetStoreByName(param::hstring const& storeName) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateStoresStatics; }; template struct consume_Windows_Security_Cryptography_Certificates_ICertificateStoresStatics2 { auto GetUserStoreByName(param::hstring const& storeName) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICertificateStoresStatics2; }; template struct consume_Windows_Security_Cryptography_Certificates_IChainBuildingParameters { [[nodiscard]] auto EnhancedKeyUsages() const; [[nodiscard]] auto ValidationTimestamp() const; auto ValidationTimestamp(winrt::Windows::Foundation::DateTime const& value) const; [[nodiscard]] auto RevocationCheckEnabled() const; auto RevocationCheckEnabled(bool value) const; [[nodiscard]] auto NetworkRetrievalEnabled() const; auto NetworkRetrievalEnabled(bool value) const; [[nodiscard]] auto AuthorityInformationAccessEnabled() const; auto AuthorityInformationAccessEnabled(bool value) const; [[nodiscard]] auto CurrentTimeValidationEnabled() const; auto CurrentTimeValidationEnabled(bool value) const; [[nodiscard]] auto ExclusiveTrustRoots() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IChainBuildingParameters; }; template struct consume_Windows_Security_Cryptography_Certificates_IChainValidationParameters { [[nodiscard]] auto CertificateChainPolicy() const; auto CertificateChainPolicy(winrt::Windows::Security::Cryptography::Certificates::CertificateChainPolicy const& value) const; [[nodiscard]] auto ServerDnsName() const; auto ServerDnsName(winrt::Windows::Networking::HostName const& value) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IChainValidationParameters; }; template struct consume_Windows_Security_Cryptography_Certificates_ICmsAttachedSignature { [[nodiscard]] auto Certificates() const; [[nodiscard]] auto Content() const; [[nodiscard]] auto Signers() const; auto VerifySignature() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICmsAttachedSignature; }; template struct consume_Windows_Security_Cryptography_Certificates_ICmsAttachedSignatureFactory { auto CreateCmsAttachedSignature(winrt::Windows::Storage::Streams::IBuffer const& inputBlob) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICmsAttachedSignatureFactory; }; template struct consume_Windows_Security_Cryptography_Certificates_ICmsAttachedSignatureStatics { auto GenerateSignatureAsync(winrt::Windows::Storage::Streams::IBuffer const& data, param::async_iterable const& signers, param::async_iterable const& certificates) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICmsAttachedSignatureStatics; }; template struct consume_Windows_Security_Cryptography_Certificates_ICmsDetachedSignature { [[nodiscard]] auto Certificates() const; [[nodiscard]] auto Signers() const; auto VerifySignatureAsync(winrt::Windows::Storage::Streams::IInputStream const& data) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICmsDetachedSignature; }; template struct consume_Windows_Security_Cryptography_Certificates_ICmsDetachedSignatureFactory { auto CreateCmsDetachedSignature(winrt::Windows::Storage::Streams::IBuffer const& inputBlob) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICmsDetachedSignatureFactory; }; template struct consume_Windows_Security_Cryptography_Certificates_ICmsDetachedSignatureStatics { auto GenerateSignatureAsync(winrt::Windows::Storage::Streams::IInputStream const& data, param::async_iterable const& signers, param::async_iterable const& certificates) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICmsDetachedSignatureStatics; }; template struct consume_Windows_Security_Cryptography_Certificates_ICmsSignerInfo { [[nodiscard]] auto Certificate() const; auto Certificate(winrt::Windows::Security::Cryptography::Certificates::Certificate const& value) const; [[nodiscard]] auto HashAlgorithmName() const; auto HashAlgorithmName(param::hstring const& value) const; [[nodiscard]] auto TimestampInfo() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICmsSignerInfo; }; template struct consume_Windows_Security_Cryptography_Certificates_ICmsTimestampInfo { [[nodiscard]] auto SigningCertificate() const; [[nodiscard]] auto Certificates() const; [[nodiscard]] auto Timestamp() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ICmsTimestampInfo; }; template struct consume_Windows_Security_Cryptography_Certificates_IKeyAlgorithmNamesStatics { [[nodiscard]] auto Rsa() const; [[nodiscard]] auto Dsa() const; [[nodiscard]] auto Ecdh256() const; [[nodiscard]] auto Ecdh384() const; [[nodiscard]] auto Ecdh521() const; [[nodiscard]] auto Ecdsa256() const; [[nodiscard]] auto Ecdsa384() const; [[nodiscard]] auto Ecdsa521() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IKeyAlgorithmNamesStatics; }; template struct consume_Windows_Security_Cryptography_Certificates_IKeyAlgorithmNamesStatics2 { [[nodiscard]] auto Ecdsa() const; [[nodiscard]] auto Ecdh() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IKeyAlgorithmNamesStatics2; }; template struct consume_Windows_Security_Cryptography_Certificates_IKeyAttestationHelperStatics { auto DecryptTpmAttestationCredentialAsync(param::hstring const& credential) const; auto GetTpmAttestationCredentialId(param::hstring const& credential) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IKeyAttestationHelperStatics; }; template struct consume_Windows_Security_Cryptography_Certificates_IKeyAttestationHelperStatics2 { auto DecryptTpmAttestationCredentialAsync(param::hstring const& credential, param::hstring const& containerName) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IKeyAttestationHelperStatics2; }; template struct consume_Windows_Security_Cryptography_Certificates_IKeyStorageProviderNamesStatics { [[nodiscard]] auto SoftwareKeyStorageProvider() const; [[nodiscard]] auto SmartcardKeyStorageProvider() const; [[nodiscard]] auto PlatformKeyStorageProvider() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IKeyStorageProviderNamesStatics; }; template struct consume_Windows_Security_Cryptography_Certificates_IKeyStorageProviderNamesStatics2 { [[nodiscard]] auto PassportKeyStorageProvider() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IKeyStorageProviderNamesStatics2; }; template struct consume_Windows_Security_Cryptography_Certificates_IPfxImportParameters { [[nodiscard]] auto Exportable() const; auto Exportable(winrt::Windows::Security::Cryptography::Certificates::ExportOption const& value) const; [[nodiscard]] auto KeyProtectionLevel() const; auto KeyProtectionLevel(winrt::Windows::Security::Cryptography::Certificates::KeyProtectionLevel const& value) const; [[nodiscard]] auto InstallOptions() const; auto InstallOptions(winrt::Windows::Security::Cryptography::Certificates::InstallOptions const& value) const; [[nodiscard]] auto FriendlyName() const; auto FriendlyName(param::hstring const& value) const; [[nodiscard]] auto KeyStorageProviderName() const; auto KeyStorageProviderName(param::hstring const& value) const; [[nodiscard]] auto ContainerNamePrefix() const; auto ContainerNamePrefix(param::hstring const& value) const; [[nodiscard]] auto ReaderName() const; auto ReaderName(param::hstring const& value) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IPfxImportParameters; }; template struct consume_Windows_Security_Cryptography_Certificates_IStandardCertificateStoreNamesStatics { [[nodiscard]] auto Personal() const; [[nodiscard]] auto TrustedRootCertificationAuthorities() const; [[nodiscard]] auto IntermediateCertificationAuthorities() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IStandardCertificateStoreNamesStatics; }; template struct consume_Windows_Security_Cryptography_Certificates_ISubjectAlternativeNameInfo { [[nodiscard]] auto EmailName() const; [[nodiscard]] auto IPAddress() const; [[nodiscard]] auto Url() const; [[nodiscard]] auto DnsName() const; [[nodiscard]] auto DistinguishedName() const; [[nodiscard]] auto PrincipalName() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ISubjectAlternativeNameInfo; }; template struct consume_Windows_Security_Cryptography_Certificates_ISubjectAlternativeNameInfo2 { [[nodiscard]] auto EmailNames() const; [[nodiscard]] auto IPAddresses() const; [[nodiscard]] auto Urls() const; [[nodiscard]] auto DnsNames() const; [[nodiscard]] auto DistinguishedNames() const; [[nodiscard]] auto PrincipalNames() const; [[nodiscard]] auto Extension() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_ISubjectAlternativeNameInfo2; }; template struct consume_Windows_Security_Cryptography_Certificates_IUserCertificateEnrollmentManager { auto CreateRequestAsync(winrt::Windows::Security::Cryptography::Certificates::CertificateRequestProperties const& request) const; auto InstallCertificateAsync(param::hstring const& certificate, winrt::Windows::Security::Cryptography::Certificates::InstallOptions const& installOption) const; auto ImportPfxDataAsync(param::hstring const& pfxData, param::hstring const& password, winrt::Windows::Security::Cryptography::Certificates::ExportOption const& exportable, winrt::Windows::Security::Cryptography::Certificates::KeyProtectionLevel const& keyProtectionLevel, winrt::Windows::Security::Cryptography::Certificates::InstallOptions const& installOption, param::hstring const& friendlyName) const; auto ImportPfxDataAsync(param::hstring const& pfxData, param::hstring const& password, winrt::Windows::Security::Cryptography::Certificates::ExportOption const& exportable, winrt::Windows::Security::Cryptography::Certificates::KeyProtectionLevel const& keyProtectionLevel, winrt::Windows::Security::Cryptography::Certificates::InstallOptions const& installOption, param::hstring const& friendlyName, param::hstring const& keyStorageProvider) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IUserCertificateEnrollmentManager; }; template struct consume_Windows_Security_Cryptography_Certificates_IUserCertificateEnrollmentManager2 { auto ImportPfxDataAsync(param::hstring const& pfxData, param::hstring const& password, winrt::Windows::Security::Cryptography::Certificates::PfxImportParameters const& pfxImportParameters) const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IUserCertificateEnrollmentManager2; }; template struct consume_Windows_Security_Cryptography_Certificates_IUserCertificateStore { auto RequestAddAsync(winrt::Windows::Security::Cryptography::Certificates::Certificate const& certificate) const; auto RequestDeleteAsync(winrt::Windows::Security::Cryptography::Certificates::Certificate const& certificate) const; [[nodiscard]] auto Name() const; }; template <> struct consume { template using type = consume_Windows_Security_Cryptography_Certificates_IUserCertificateStore; }; } #endif