1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[cfg(feature = "Win32_Security_Cryptography_Catalog")]
3 pub mod Catalog;
4 #[cfg(feature = "Win32_Security_Cryptography_Certificates")]
5 pub mod Certificates;
6 #[cfg(feature = "Win32_Security_Cryptography_Sip")]
7 pub mod Sip;
8 #[cfg(feature = "Win32_Security_Cryptography_UI")]
9 pub mod UI;
10 #[link(name = "windows")]
11 extern "system" {
12     #[cfg(feature = "Win32_Foundation")]
BCryptAddContextFunction(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR, dwposition: u32) -> super::super::Foundation::NTSTATUS13     pub fn BCryptAddContextFunction(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR, dwposition: u32) -> super::super::Foundation::NTSTATUS;
14     #[cfg(feature = "Win32_Foundation")]
BCryptCloseAlgorithmProvider(halgorithm: BCRYPT_ALG_HANDLE, dwflags: u32) -> super::super::Foundation::NTSTATUS15     pub fn BCryptCloseAlgorithmProvider(halgorithm: BCRYPT_ALG_HANDLE, dwflags: u32) -> super::super::Foundation::NTSTATUS;
16     #[cfg(feature = "Win32_Foundation")]
BCryptConfigureContext(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, pconfig: *const CRYPT_CONTEXT_CONFIG) -> super::super::Foundation::NTSTATUS17     pub fn BCryptConfigureContext(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, pconfig: *const CRYPT_CONTEXT_CONFIG) -> super::super::Foundation::NTSTATUS;
18     #[cfg(feature = "Win32_Foundation")]
BCryptConfigureContextFunction(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR, pconfig: *const CRYPT_CONTEXT_FUNCTION_CONFIG) -> super::super::Foundation::NTSTATUS19     pub fn BCryptConfigureContextFunction(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR, pconfig: *const CRYPT_CONTEXT_FUNCTION_CONFIG) -> super::super::Foundation::NTSTATUS;
20     #[cfg(feature = "Win32_Foundation")]
BCryptCreateContext(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, pconfig: *const CRYPT_CONTEXT_CONFIG) -> super::super::Foundation::NTSTATUS21     pub fn BCryptCreateContext(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, pconfig: *const CRYPT_CONTEXT_CONFIG) -> super::super::Foundation::NTSTATUS;
22     #[cfg(feature = "Win32_Foundation")]
BCryptCreateHash(halgorithm: BCRYPT_ALG_HANDLE, phhash: *mut *mut ::core::ffi::c_void, pbhashobject: *mut u8, cbhashobject: u32, pbsecret: *const u8, cbsecret: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS23     pub fn BCryptCreateHash(halgorithm: BCRYPT_ALG_HANDLE, phhash: *mut *mut ::core::ffi::c_void, pbhashobject: *mut u8, cbhashobject: u32, pbsecret: *const u8, cbsecret: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
24     #[cfg(feature = "Win32_Foundation")]
BCryptCreateMultiHash(halgorithm: BCRYPT_ALG_HANDLE, phhash: *mut *mut ::core::ffi::c_void, nhashes: u32, pbhashobject: *mut u8, cbhashobject: u32, pbsecret: *const u8, cbsecret: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS25     pub fn BCryptCreateMultiHash(halgorithm: BCRYPT_ALG_HANDLE, phhash: *mut *mut ::core::ffi::c_void, nhashes: u32, pbhashobject: *mut u8, cbhashobject: u32, pbsecret: *const u8, cbsecret: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
26     #[cfg(feature = "Win32_Foundation")]
BCryptDecrypt(hkey: BCRYPT_KEY_HANDLE, pbinput: *const u8, cbinput: u32, ppaddinginfo: *const ::core::ffi::c_void, pbiv: *mut u8, cbiv: u32, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> super::super::Foundation::NTSTATUS27     pub fn BCryptDecrypt(hkey: BCRYPT_KEY_HANDLE, pbinput: *const u8, cbinput: u32, ppaddinginfo: *const ::core::ffi::c_void, pbiv: *mut u8, cbiv: u32, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> super::super::Foundation::NTSTATUS;
28     #[cfg(feature = "Win32_Foundation")]
BCryptDeleteContext(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR) -> super::super::Foundation::NTSTATUS29     pub fn BCryptDeleteContext(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR) -> super::super::Foundation::NTSTATUS;
30     #[cfg(feature = "Win32_Foundation")]
BCryptDeriveKey(hsharedsecret: *const ::core::ffi::c_void, pwszkdf: super::super::Foundation::PWSTR, pparameterlist: *const BCryptBufferDesc, pbderivedkey: *mut u8, cbderivedkey: u32, pcbresult: *mut u32, dwflags: u32) -> super::super::Foundation::NTSTATUS31     pub fn BCryptDeriveKey(hsharedsecret: *const ::core::ffi::c_void, pwszkdf: super::super::Foundation::PWSTR, pparameterlist: *const BCryptBufferDesc, pbderivedkey: *mut u8, cbderivedkey: u32, pcbresult: *mut u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
32     #[cfg(feature = "Win32_Foundation")]
BCryptDeriveKeyCapi(hhash: *const ::core::ffi::c_void, htargetalg: BCRYPT_ALG_HANDLE, pbderivedkey: *mut u8, cbderivedkey: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS33     pub fn BCryptDeriveKeyCapi(hhash: *const ::core::ffi::c_void, htargetalg: BCRYPT_ALG_HANDLE, pbderivedkey: *mut u8, cbderivedkey: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
34     #[cfg(feature = "Win32_Foundation")]
BCryptDeriveKeyPBKDF2(hprf: BCRYPT_ALG_HANDLE, pbpassword: *const u8, cbpassword: u32, pbsalt: *const u8, cbsalt: u32, citerations: u64, pbderivedkey: *mut u8, cbderivedkey: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS35     pub fn BCryptDeriveKeyPBKDF2(hprf: BCRYPT_ALG_HANDLE, pbpassword: *const u8, cbpassword: u32, pbsalt: *const u8, cbsalt: u32, citerations: u64, pbderivedkey: *mut u8, cbderivedkey: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
36     #[cfg(feature = "Win32_Foundation")]
BCryptDestroyHash(hhash: *mut ::core::ffi::c_void) -> super::super::Foundation::NTSTATUS37     pub fn BCryptDestroyHash(hhash: *mut ::core::ffi::c_void) -> super::super::Foundation::NTSTATUS;
38     #[cfg(feature = "Win32_Foundation")]
BCryptDestroyKey(hkey: BCRYPT_KEY_HANDLE) -> super::super::Foundation::NTSTATUS39     pub fn BCryptDestroyKey(hkey: BCRYPT_KEY_HANDLE) -> super::super::Foundation::NTSTATUS;
40     #[cfg(feature = "Win32_Foundation")]
BCryptDestroySecret(hsecret: *mut ::core::ffi::c_void) -> super::super::Foundation::NTSTATUS41     pub fn BCryptDestroySecret(hsecret: *mut ::core::ffi::c_void) -> super::super::Foundation::NTSTATUS;
42     #[cfg(feature = "Win32_Foundation")]
BCryptDuplicateHash(hhash: *const ::core::ffi::c_void, phnewhash: *mut *mut ::core::ffi::c_void, pbhashobject: *mut u8, cbhashobject: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS43     pub fn BCryptDuplicateHash(hhash: *const ::core::ffi::c_void, phnewhash: *mut *mut ::core::ffi::c_void, pbhashobject: *mut u8, cbhashobject: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
44     #[cfg(feature = "Win32_Foundation")]
BCryptDuplicateKey(hkey: BCRYPT_KEY_HANDLE, phnewkey: *mut BCRYPT_KEY_HANDLE, pbkeyobject: *mut u8, cbkeyobject: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS45     pub fn BCryptDuplicateKey(hkey: BCRYPT_KEY_HANDLE, phnewkey: *mut BCRYPT_KEY_HANDLE, pbkeyobject: *mut u8, cbkeyobject: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
46     #[cfg(feature = "Win32_Foundation")]
BCryptEncrypt(hkey: BCRYPT_KEY_HANDLE, pbinput: *const u8, cbinput: u32, ppaddinginfo: *const ::core::ffi::c_void, pbiv: *mut u8, cbiv: u32, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> super::super::Foundation::NTSTATUS47     pub fn BCryptEncrypt(hkey: BCRYPT_KEY_HANDLE, pbinput: *const u8, cbinput: u32, ppaddinginfo: *const ::core::ffi::c_void, pbiv: *mut u8, cbiv: u32, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> super::super::Foundation::NTSTATUS;
48     #[cfg(feature = "Win32_Foundation")]
BCryptEnumAlgorithms(dwalgoperations: BCRYPT_OPERATION, palgcount: *mut u32, ppalglist: *mut *mut BCRYPT_ALGORITHM_IDENTIFIER, dwflags: u32) -> super::super::Foundation::NTSTATUS49     pub fn BCryptEnumAlgorithms(dwalgoperations: BCRYPT_OPERATION, palgcount: *mut u32, ppalglist: *mut *mut BCRYPT_ALGORITHM_IDENTIFIER, dwflags: u32) -> super::super::Foundation::NTSTATUS;
50     #[cfg(feature = "Win32_Foundation")]
BCryptEnumContextFunctionProviders(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_CONTEXT_FUNCTION_PROVIDERS) -> super::super::Foundation::NTSTATUS51     pub fn BCryptEnumContextFunctionProviders(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_CONTEXT_FUNCTION_PROVIDERS) -> super::super::Foundation::NTSTATUS;
52     #[cfg(feature = "Win32_Foundation")]
BCryptEnumContextFunctions(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_CONTEXT_FUNCTIONS) -> super::super::Foundation::NTSTATUS53     pub fn BCryptEnumContextFunctions(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_CONTEXT_FUNCTIONS) -> super::super::Foundation::NTSTATUS;
54     #[cfg(feature = "Win32_Foundation")]
BCryptEnumContexts(dwtable: BCRYPT_TABLE, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_CONTEXTS) -> super::super::Foundation::NTSTATUS55     pub fn BCryptEnumContexts(dwtable: BCRYPT_TABLE, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_CONTEXTS) -> super::super::Foundation::NTSTATUS;
56     #[cfg(feature = "Win32_Foundation")]
BCryptEnumProviders(pszalgid: super::super::Foundation::PWSTR, pimplcount: *mut u32, ppimpllist: *mut *mut BCRYPT_PROVIDER_NAME, dwflags: u32) -> super::super::Foundation::NTSTATUS57     pub fn BCryptEnumProviders(pszalgid: super::super::Foundation::PWSTR, pimplcount: *mut u32, ppimpllist: *mut *mut BCRYPT_PROVIDER_NAME, dwflags: u32) -> super::super::Foundation::NTSTATUS;
58     #[cfg(feature = "Win32_Foundation")]
BCryptEnumRegisteredProviders(pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_PROVIDERS) -> super::super::Foundation::NTSTATUS59     pub fn BCryptEnumRegisteredProviders(pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_PROVIDERS) -> super::super::Foundation::NTSTATUS;
60     #[cfg(feature = "Win32_Foundation")]
BCryptExportKey(hkey: BCRYPT_KEY_HANDLE, hexportkey: BCRYPT_KEY_HANDLE, pszblobtype: super::super::Foundation::PWSTR, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: u32) -> super::super::Foundation::NTSTATUS61     pub fn BCryptExportKey(hkey: BCRYPT_KEY_HANDLE, hexportkey: BCRYPT_KEY_HANDLE, pszblobtype: super::super::Foundation::PWSTR, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
62     #[cfg(feature = "Win32_Foundation")]
BCryptFinalizeKeyPair(hkey: BCRYPT_KEY_HANDLE, dwflags: u32) -> super::super::Foundation::NTSTATUS63     pub fn BCryptFinalizeKeyPair(hkey: BCRYPT_KEY_HANDLE, dwflags: u32) -> super::super::Foundation::NTSTATUS;
64     #[cfg(feature = "Win32_Foundation")]
BCryptFinishHash(hhash: *mut ::core::ffi::c_void, pboutput: *mut u8, cboutput: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS65     pub fn BCryptFinishHash(hhash: *mut ::core::ffi::c_void, pboutput: *mut u8, cboutput: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
BCryptFreeBuffer(pvbuffer: *const ::core::ffi::c_void)66     pub fn BCryptFreeBuffer(pvbuffer: *const ::core::ffi::c_void);
67     #[cfg(feature = "Win32_Foundation")]
BCryptGenRandom(halgorithm: BCRYPT_ALG_HANDLE, pbbuffer: *mut u8, cbbuffer: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS68     pub fn BCryptGenRandom(halgorithm: BCRYPT_ALG_HANDLE, pbbuffer: *mut u8, cbbuffer: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
69     #[cfg(feature = "Win32_Foundation")]
BCryptGenerateKeyPair(halgorithm: BCRYPT_ALG_HANDLE, phkey: *mut BCRYPT_KEY_HANDLE, dwlength: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS70     pub fn BCryptGenerateKeyPair(halgorithm: BCRYPT_ALG_HANDLE, phkey: *mut BCRYPT_KEY_HANDLE, dwlength: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
71     #[cfg(feature = "Win32_Foundation")]
BCryptGenerateSymmetricKey(halgorithm: BCRYPT_ALG_HANDLE, phkey: *mut BCRYPT_KEY_HANDLE, pbkeyobject: *mut u8, cbkeyobject: u32, pbsecret: *const u8, cbsecret: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS72     pub fn BCryptGenerateSymmetricKey(halgorithm: BCRYPT_ALG_HANDLE, phkey: *mut BCRYPT_KEY_HANDLE, pbkeyobject: *mut u8, cbkeyobject: u32, pbsecret: *const u8, cbsecret: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
73     #[cfg(feature = "Win32_Foundation")]
BCryptGetFipsAlgorithmMode(pfenabled: *mut u8) -> super::super::Foundation::NTSTATUS74     pub fn BCryptGetFipsAlgorithmMode(pfenabled: *mut u8) -> super::super::Foundation::NTSTATUS;
75     #[cfg(feature = "Win32_Foundation")]
BCryptGetProperty(hobject: *const ::core::ffi::c_void, pszproperty: super::super::Foundation::PWSTR, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: u32) -> super::super::Foundation::NTSTATUS76     pub fn BCryptGetProperty(hobject: *const ::core::ffi::c_void, pszproperty: super::super::Foundation::PWSTR, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
77     #[cfg(feature = "Win32_Foundation")]
BCryptHash(halgorithm: BCRYPT_ALG_HANDLE, pbsecret: *const u8, cbsecret: u32, pbinput: *const u8, cbinput: u32, pboutput: *mut u8, cboutput: u32) -> super::super::Foundation::NTSTATUS78     pub fn BCryptHash(halgorithm: BCRYPT_ALG_HANDLE, pbsecret: *const u8, cbsecret: u32, pbinput: *const u8, cbinput: u32, pboutput: *mut u8, cboutput: u32) -> super::super::Foundation::NTSTATUS;
79     #[cfg(feature = "Win32_Foundation")]
BCryptHashData(hhash: *mut ::core::ffi::c_void, pbinput: *const u8, cbinput: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS80     pub fn BCryptHashData(hhash: *mut ::core::ffi::c_void, pbinput: *const u8, cbinput: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
81     #[cfg(feature = "Win32_Foundation")]
BCryptImportKey(halgorithm: BCRYPT_ALG_HANDLE, himportkey: BCRYPT_KEY_HANDLE, pszblobtype: super::super::Foundation::PWSTR, phkey: *mut BCRYPT_KEY_HANDLE, pbkeyobject: *mut u8, cbkeyobject: u32, pbinput: *const u8, cbinput: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS82     pub fn BCryptImportKey(halgorithm: BCRYPT_ALG_HANDLE, himportkey: BCRYPT_KEY_HANDLE, pszblobtype: super::super::Foundation::PWSTR, phkey: *mut BCRYPT_KEY_HANDLE, pbkeyobject: *mut u8, cbkeyobject: u32, pbinput: *const u8, cbinput: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
83     #[cfg(feature = "Win32_Foundation")]
BCryptImportKeyPair(halgorithm: BCRYPT_ALG_HANDLE, himportkey: BCRYPT_KEY_HANDLE, pszblobtype: super::super::Foundation::PWSTR, phkey: *mut BCRYPT_KEY_HANDLE, pbinput: *const u8, cbinput: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS84     pub fn BCryptImportKeyPair(halgorithm: BCRYPT_ALG_HANDLE, himportkey: BCRYPT_KEY_HANDLE, pszblobtype: super::super::Foundation::PWSTR, phkey: *mut BCRYPT_KEY_HANDLE, pbinput: *const u8, cbinput: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
85     #[cfg(feature = "Win32_Foundation")]
BCryptKeyDerivation(hkey: BCRYPT_KEY_HANDLE, pparameterlist: *const BCryptBufferDesc, pbderivedkey: *mut u8, cbderivedkey: u32, pcbresult: *mut u32, dwflags: u32) -> super::super::Foundation::NTSTATUS86     pub fn BCryptKeyDerivation(hkey: BCRYPT_KEY_HANDLE, pparameterlist: *const BCryptBufferDesc, pbderivedkey: *mut u8, cbderivedkey: u32, pcbresult: *mut u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
87     #[cfg(feature = "Win32_Foundation")]
BCryptOpenAlgorithmProvider(phalgorithm: *mut BCRYPT_ALG_HANDLE, pszalgid: super::super::Foundation::PWSTR, pszimplementation: super::super::Foundation::PWSTR, dwflags: BCRYPT_OPEN_ALGORITHM_PROVIDER_FLAGS) -> super::super::Foundation::NTSTATUS88     pub fn BCryptOpenAlgorithmProvider(phalgorithm: *mut BCRYPT_ALG_HANDLE, pszalgid: super::super::Foundation::PWSTR, pszimplementation: super::super::Foundation::PWSTR, dwflags: BCRYPT_OPEN_ALGORITHM_PROVIDER_FLAGS) -> super::super::Foundation::NTSTATUS;
89     #[cfg(feature = "Win32_Foundation")]
BCryptProcessMultiOperations(hobject: *mut ::core::ffi::c_void, operationtype: BCRYPT_MULTI_OPERATION_TYPE, poperations: *const ::core::ffi::c_void, cboperations: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS90     pub fn BCryptProcessMultiOperations(hobject: *mut ::core::ffi::c_void, operationtype: BCRYPT_MULTI_OPERATION_TYPE, poperations: *const ::core::ffi::c_void, cboperations: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
91     #[cfg(feature = "Win32_Foundation")]
BCryptQueryContextConfiguration(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_CONTEXT_CONFIG) -> super::super::Foundation::NTSTATUS92     pub fn BCryptQueryContextConfiguration(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_CONTEXT_CONFIG) -> super::super::Foundation::NTSTATUS;
93     #[cfg(feature = "Win32_Foundation")]
BCryptQueryContextFunctionConfiguration(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_CONTEXT_FUNCTION_CONFIG) -> super::super::Foundation::NTSTATUS94     pub fn BCryptQueryContextFunctionConfiguration(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_CONTEXT_FUNCTION_CONFIG) -> super::super::Foundation::NTSTATUS;
95     #[cfg(feature = "Win32_Foundation")]
BCryptQueryContextFunctionProperty(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR, pszproperty: super::super::Foundation::PWSTR, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> super::super::Foundation::NTSTATUS96     pub fn BCryptQueryContextFunctionProperty(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR, pszproperty: super::super::Foundation::PWSTR, pcbvalue: *mut u32, ppbvalue: *mut *mut u8) -> super::super::Foundation::NTSTATUS;
97     #[cfg(feature = "Win32_Foundation")]
BCryptQueryProviderRegistration(pszprovider: super::super::Foundation::PWSTR, dwmode: BCRYPT_QUERY_PROVIDER_MODE, dwinterface: BCRYPT_INTERFACE, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_PROVIDER_REG) -> super::super::Foundation::NTSTATUS98     pub fn BCryptQueryProviderRegistration(pszprovider: super::super::Foundation::PWSTR, dwmode: BCRYPT_QUERY_PROVIDER_MODE, dwinterface: BCRYPT_INTERFACE, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_PROVIDER_REG) -> super::super::Foundation::NTSTATUS;
99     #[cfg(feature = "Win32_Foundation")]
BCryptRegisterConfigChangeNotify(phevent: *mut super::super::Foundation::HANDLE) -> super::super::Foundation::NTSTATUS100     pub fn BCryptRegisterConfigChangeNotify(phevent: *mut super::super::Foundation::HANDLE) -> super::super::Foundation::NTSTATUS;
101     #[cfg(feature = "Win32_Foundation")]
BCryptRemoveContextFunction(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR) -> super::super::Foundation::NTSTATUS102     pub fn BCryptRemoveContextFunction(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR) -> super::super::Foundation::NTSTATUS;
103     #[cfg(feature = "Win32_Foundation")]
BCryptResolveProviders(pszcontext: super::super::Foundation::PWSTR, dwinterface: u32, pszfunction: super::super::Foundation::PWSTR, pszprovider: super::super::Foundation::PWSTR, dwmode: BCRYPT_QUERY_PROVIDER_MODE, dwflags: BCRYPT_RESOLVE_PROVIDERS_FLAGS, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_PROVIDER_REFS) -> super::super::Foundation::NTSTATUS104     pub fn BCryptResolveProviders(pszcontext: super::super::Foundation::PWSTR, dwinterface: u32, pszfunction: super::super::Foundation::PWSTR, pszprovider: super::super::Foundation::PWSTR, dwmode: BCRYPT_QUERY_PROVIDER_MODE, dwflags: BCRYPT_RESOLVE_PROVIDERS_FLAGS, pcbbuffer: *mut u32, ppbuffer: *mut *mut CRYPT_PROVIDER_REFS) -> super::super::Foundation::NTSTATUS;
105     #[cfg(feature = "Win32_Foundation")]
BCryptSecretAgreement(hprivkey: BCRYPT_KEY_HANDLE, hpubkey: BCRYPT_KEY_HANDLE, phagreedsecret: *mut *mut ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::NTSTATUS106     pub fn BCryptSecretAgreement(hprivkey: BCRYPT_KEY_HANDLE, hpubkey: BCRYPT_KEY_HANDLE, phagreedsecret: *mut *mut ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::NTSTATUS;
107     #[cfg(feature = "Win32_Foundation")]
BCryptSetContextFunctionProperty(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR, pszproperty: super::super::Foundation::PWSTR, cbvalue: u32, pbvalue: *const u8) -> super::super::Foundation::NTSTATUS108     pub fn BCryptSetContextFunctionProperty(dwtable: BCRYPT_TABLE, pszcontext: super::super::Foundation::PWSTR, dwinterface: BCRYPT_INTERFACE, pszfunction: super::super::Foundation::PWSTR, pszproperty: super::super::Foundation::PWSTR, cbvalue: u32, pbvalue: *const u8) -> super::super::Foundation::NTSTATUS;
109     #[cfg(feature = "Win32_Foundation")]
BCryptSetProperty(hobject: *mut ::core::ffi::c_void, pszproperty: super::super::Foundation::PWSTR, pbinput: *const u8, cbinput: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS110     pub fn BCryptSetProperty(hobject: *mut ::core::ffi::c_void, pszproperty: super::super::Foundation::PWSTR, pbinput: *const u8, cbinput: u32, dwflags: u32) -> super::super::Foundation::NTSTATUS;
111     #[cfg(feature = "Win32_Foundation")]
BCryptSignHash(hkey: BCRYPT_KEY_HANDLE, ppaddinginfo: *const ::core::ffi::c_void, pbinput: *const u8, cbinput: u32, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> super::super::Foundation::NTSTATUS112     pub fn BCryptSignHash(hkey: BCRYPT_KEY_HANDLE, ppaddinginfo: *const ::core::ffi::c_void, pbinput: *const u8, cbinput: u32, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> super::super::Foundation::NTSTATUS;
113     #[cfg(feature = "Win32_Foundation")]
BCryptUnregisterConfigChangeNotify(hevent: super::super::Foundation::HANDLE) -> super::super::Foundation::NTSTATUS114     pub fn BCryptUnregisterConfigChangeNotify(hevent: super::super::Foundation::HANDLE) -> super::super::Foundation::NTSTATUS;
115     #[cfg(feature = "Win32_Foundation")]
BCryptVerifySignature(hkey: BCRYPT_KEY_HANDLE, ppaddinginfo: *const ::core::ffi::c_void, pbhash: *const u8, cbhash: u32, pbsignature: *const u8, cbsignature: u32, dwflags: NCRYPT_FLAGS) -> super::super::Foundation::NTSTATUS116     pub fn BCryptVerifySignature(hkey: BCRYPT_KEY_HANDLE, ppaddinginfo: *const ::core::ffi::c_void, pbhash: *const u8, cbhash: u32, pbsignature: *const u8, cbsignature: u32, dwflags: NCRYPT_FLAGS) -> super::super::Foundation::NTSTATUS;
117     #[cfg(feature = "Win32_Foundation")]
CertAddCRLContextToStore(hcertstore: *const ::core::ffi::c_void, pcrlcontext: *const CRL_CONTEXT, dwadddisposition: u32, ppstorecontext: *mut *mut CRL_CONTEXT) -> super::super::Foundation::BOOL118     pub fn CertAddCRLContextToStore(hcertstore: *const ::core::ffi::c_void, pcrlcontext: *const CRL_CONTEXT, dwadddisposition: u32, ppstorecontext: *mut *mut CRL_CONTEXT) -> super::super::Foundation::BOOL;
119     #[cfg(feature = "Win32_Foundation")]
CertAddCRLLinkToStore(hcertstore: *const ::core::ffi::c_void, pcrlcontext: *const CRL_CONTEXT, dwadddisposition: u32, ppstorecontext: *mut *mut CRL_CONTEXT) -> super::super::Foundation::BOOL120     pub fn CertAddCRLLinkToStore(hcertstore: *const ::core::ffi::c_void, pcrlcontext: *const CRL_CONTEXT, dwadddisposition: u32, ppstorecontext: *mut *mut CRL_CONTEXT) -> super::super::Foundation::BOOL;
121     #[cfg(feature = "Win32_Foundation")]
CertAddCTLContextToStore(hcertstore: *const ::core::ffi::c_void, pctlcontext: *const CTL_CONTEXT, dwadddisposition: u32, ppstorecontext: *mut *mut CTL_CONTEXT) -> super::super::Foundation::BOOL122     pub fn CertAddCTLContextToStore(hcertstore: *const ::core::ffi::c_void, pctlcontext: *const CTL_CONTEXT, dwadddisposition: u32, ppstorecontext: *mut *mut CTL_CONTEXT) -> super::super::Foundation::BOOL;
123     #[cfg(feature = "Win32_Foundation")]
CertAddCTLLinkToStore(hcertstore: *const ::core::ffi::c_void, pctlcontext: *const CTL_CONTEXT, dwadddisposition: u32, ppstorecontext: *mut *mut CTL_CONTEXT) -> super::super::Foundation::BOOL124     pub fn CertAddCTLLinkToStore(hcertstore: *const ::core::ffi::c_void, pctlcontext: *const CTL_CONTEXT, dwadddisposition: u32, ppstorecontext: *mut *mut CTL_CONTEXT) -> super::super::Foundation::BOOL;
125     #[cfg(feature = "Win32_Foundation")]
CertAddCertificateContextToStore(hcertstore: *const ::core::ffi::c_void, pcertcontext: *const CERT_CONTEXT, dwadddisposition: u32, ppstorecontext: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL126     pub fn CertAddCertificateContextToStore(hcertstore: *const ::core::ffi::c_void, pcertcontext: *const CERT_CONTEXT, dwadddisposition: u32, ppstorecontext: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL;
127     #[cfg(feature = "Win32_Foundation")]
CertAddCertificateLinkToStore(hcertstore: *const ::core::ffi::c_void, pcertcontext: *const CERT_CONTEXT, dwadddisposition: u32, ppstorecontext: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL128     pub fn CertAddCertificateLinkToStore(hcertstore: *const ::core::ffi::c_void, pcertcontext: *const CERT_CONTEXT, dwadddisposition: u32, ppstorecontext: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL;
129     #[cfg(feature = "Win32_Foundation")]
CertAddEncodedCRLToStore(hcertstore: *const ::core::ffi::c_void, dwcertencodingtype: u32, pbcrlencoded: *const u8, cbcrlencoded: u32, dwadddisposition: u32, ppcrlcontext: *mut *mut CRL_CONTEXT) -> super::super::Foundation::BOOL130     pub fn CertAddEncodedCRLToStore(hcertstore: *const ::core::ffi::c_void, dwcertencodingtype: u32, pbcrlencoded: *const u8, cbcrlencoded: u32, dwadddisposition: u32, ppcrlcontext: *mut *mut CRL_CONTEXT) -> super::super::Foundation::BOOL;
131     #[cfg(feature = "Win32_Foundation")]
CertAddEncodedCTLToStore(hcertstore: *const ::core::ffi::c_void, dwmsgandcertencodingtype: u32, pbctlencoded: *const u8, cbctlencoded: u32, dwadddisposition: u32, ppctlcontext: *mut *mut CTL_CONTEXT) -> super::super::Foundation::BOOL132     pub fn CertAddEncodedCTLToStore(hcertstore: *const ::core::ffi::c_void, dwmsgandcertencodingtype: u32, pbctlencoded: *const u8, cbctlencoded: u32, dwadddisposition: u32, ppctlcontext: *mut *mut CTL_CONTEXT) -> super::super::Foundation::BOOL;
133     #[cfg(feature = "Win32_Foundation")]
CertAddEncodedCertificateToStore(hcertstore: *const ::core::ffi::c_void, dwcertencodingtype: u32, pbcertencoded: *const u8, cbcertencoded: u32, dwadddisposition: u32, ppcertcontext: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL134     pub fn CertAddEncodedCertificateToStore(hcertstore: *const ::core::ffi::c_void, dwcertencodingtype: u32, pbcertencoded: *const u8, cbcertencoded: u32, dwadddisposition: u32, ppcertcontext: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL;
135     #[cfg(feature = "Win32_Foundation")]
CertAddEncodedCertificateToSystemStoreA(szcertstorename: super::super::Foundation::PSTR, pbcertencoded: *const u8, cbcertencoded: u32) -> super::super::Foundation::BOOL136     pub fn CertAddEncodedCertificateToSystemStoreA(szcertstorename: super::super::Foundation::PSTR, pbcertencoded: *const u8, cbcertencoded: u32) -> super::super::Foundation::BOOL;
137     #[cfg(feature = "Win32_Foundation")]
CertAddEncodedCertificateToSystemStoreW(szcertstorename: super::super::Foundation::PWSTR, pbcertencoded: *const u8, cbcertencoded: u32) -> super::super::Foundation::BOOL138     pub fn CertAddEncodedCertificateToSystemStoreW(szcertstorename: super::super::Foundation::PWSTR, pbcertencoded: *const u8, cbcertencoded: u32) -> super::super::Foundation::BOOL;
139     #[cfg(feature = "Win32_Foundation")]
CertAddEnhancedKeyUsageIdentifier(pcertcontext: *const CERT_CONTEXT, pszusageidentifier: super::super::Foundation::PSTR) -> super::super::Foundation::BOOL140     pub fn CertAddEnhancedKeyUsageIdentifier(pcertcontext: *const CERT_CONTEXT, pszusageidentifier: super::super::Foundation::PSTR) -> super::super::Foundation::BOOL;
CertAddRefServerOcspResponse(hserverocspresponse: *const ::core::ffi::c_void)141     pub fn CertAddRefServerOcspResponse(hserverocspresponse: *const ::core::ffi::c_void);
CertAddRefServerOcspResponseContext(pserverocspresponsecontext: *const CERT_SERVER_OCSP_RESPONSE_CONTEXT)142     pub fn CertAddRefServerOcspResponseContext(pserverocspresponsecontext: *const CERT_SERVER_OCSP_RESPONSE_CONTEXT);
143     #[cfg(feature = "Win32_Foundation")]
CertAddSerializedElementToStore(hcertstore: *const ::core::ffi::c_void, pbelement: *const u8, cbelement: u32, dwadddisposition: u32, dwflags: u32, dwcontexttypeflags: u32, pdwcontexttype: *mut u32, ppvcontext: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL144     pub fn CertAddSerializedElementToStore(hcertstore: *const ::core::ffi::c_void, pbelement: *const u8, cbelement: u32, dwadddisposition: u32, dwflags: u32, dwcontexttypeflags: u32, pdwcontexttype: *mut u32, ppvcontext: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
145     #[cfg(feature = "Win32_Foundation")]
CertAddStoreToCollection(hcollectionstore: *const ::core::ffi::c_void, hsiblingstore: *const ::core::ffi::c_void, dwupdateflags: u32, dwpriority: u32) -> super::super::Foundation::BOOL146     pub fn CertAddStoreToCollection(hcollectionstore: *const ::core::ffi::c_void, hsiblingstore: *const ::core::ffi::c_void, dwupdateflags: u32, dwpriority: u32) -> super::super::Foundation::BOOL;
147     #[cfg(feature = "Win32_Foundation")]
CertAlgIdToOID(dwalgid: u32) -> super::super::Foundation::PSTR148     pub fn CertAlgIdToOID(dwalgid: u32) -> super::super::Foundation::PSTR;
CertCloseServerOcspResponse(hserverocspresponse: *const ::core::ffi::c_void, dwflags: u32)149     pub fn CertCloseServerOcspResponse(hserverocspresponse: *const ::core::ffi::c_void, dwflags: u32);
150     #[cfg(feature = "Win32_Foundation")]
CertCloseStore(hcertstore: *const ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL151     pub fn CertCloseStore(hcertstore: *const ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL;
152     #[cfg(feature = "Win32_Foundation")]
CertCompareCertificate(dwcertencodingtype: u32, pcertid1: *const CERT_INFO, pcertid2: *const CERT_INFO) -> super::super::Foundation::BOOL153     pub fn CertCompareCertificate(dwcertencodingtype: u32, pcertid1: *const CERT_INFO, pcertid2: *const CERT_INFO) -> super::super::Foundation::BOOL;
154     #[cfg(feature = "Win32_Foundation")]
CertCompareCertificateName(dwcertencodingtype: u32, pcertname1: *const CRYPTOAPI_BLOB, pcertname2: *const CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL155     pub fn CertCompareCertificateName(dwcertencodingtype: u32, pcertname1: *const CRYPTOAPI_BLOB, pcertname2: *const CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL;
156     #[cfg(feature = "Win32_Foundation")]
CertCompareIntegerBlob(pint1: *const CRYPTOAPI_BLOB, pint2: *const CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL157     pub fn CertCompareIntegerBlob(pint1: *const CRYPTOAPI_BLOB, pint2: *const CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL;
158     #[cfg(feature = "Win32_Foundation")]
CertComparePublicKeyInfo(dwcertencodingtype: u32, ppublickey1: *const CERT_PUBLIC_KEY_INFO, ppublickey2: *const CERT_PUBLIC_KEY_INFO) -> super::super::Foundation::BOOL159     pub fn CertComparePublicKeyInfo(dwcertencodingtype: u32, ppublickey1: *const CERT_PUBLIC_KEY_INFO, ppublickey2: *const CERT_PUBLIC_KEY_INFO) -> super::super::Foundation::BOOL;
160     #[cfg(feature = "Win32_Foundation")]
CertControlStore(hcertstore: *const ::core::ffi::c_void, dwflags: CERT_CONTROL_STORE_FLAGS, dwctrltype: u32, pvctrlpara: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL161     pub fn CertControlStore(hcertstore: *const ::core::ffi::c_void, dwflags: CERT_CONTROL_STORE_FLAGS, dwctrltype: u32, pvctrlpara: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
162     #[cfg(feature = "Win32_Foundation")]
CertCreateCRLContext(dwcertencodingtype: u32, pbcrlencoded: *const u8, cbcrlencoded: u32) -> *mut CRL_CONTEXT163     pub fn CertCreateCRLContext(dwcertencodingtype: u32, pbcrlencoded: *const u8, cbcrlencoded: u32) -> *mut CRL_CONTEXT;
164     #[cfg(feature = "Win32_Foundation")]
CertCreateCTLContext(dwmsgandcertencodingtype: u32, pbctlencoded: *const u8, cbctlencoded: u32) -> *mut CTL_CONTEXT165     pub fn CertCreateCTLContext(dwmsgandcertencodingtype: u32, pbctlencoded: *const u8, cbctlencoded: u32) -> *mut CTL_CONTEXT;
166     #[cfg(feature = "Win32_Foundation")]
CertCreateCTLEntryFromCertificateContextProperties(pcertcontext: *const CERT_CONTEXT, coptattr: u32, rgoptattr: *const CRYPT_ATTRIBUTE, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, pctlentry: *mut CTL_ENTRY, pcbctlentry: *mut u32) -> super::super::Foundation::BOOL167     pub fn CertCreateCTLEntryFromCertificateContextProperties(pcertcontext: *const CERT_CONTEXT, coptattr: u32, rgoptattr: *const CRYPT_ATTRIBUTE, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, pctlentry: *mut CTL_ENTRY, pcbctlentry: *mut u32) -> super::super::Foundation::BOOL;
168     #[cfg(feature = "Win32_Foundation")]
CertCreateCertificateChainEngine(pconfig: *const CERT_CHAIN_ENGINE_CONFIG, phchainengine: *mut HCERTCHAINENGINE) -> super::super::Foundation::BOOL169     pub fn CertCreateCertificateChainEngine(pconfig: *const CERT_CHAIN_ENGINE_CONFIG, phchainengine: *mut HCERTCHAINENGINE) -> super::super::Foundation::BOOL;
170     #[cfg(feature = "Win32_Foundation")]
CertCreateCertificateContext(dwcertencodingtype: u32, pbcertencoded: *const u8, cbcertencoded: u32) -> *mut CERT_CONTEXT171     pub fn CertCreateCertificateContext(dwcertencodingtype: u32, pbcertencoded: *const u8, cbcertencoded: u32) -> *mut CERT_CONTEXT;
172     #[cfg(feature = "Win32_Foundation")]
CertCreateContext(dwcontexttype: u32, dwencodingtype: u32, pbencoded: *const u8, cbencoded: u32, dwflags: u32, pcreatepara: *const CERT_CREATE_CONTEXT_PARA) -> *mut ::core::ffi::c_void173     pub fn CertCreateContext(dwcontexttype: u32, dwencodingtype: u32, pbencoded: *const u8, cbencoded: u32, dwflags: u32, pcreatepara: *const CERT_CREATE_CONTEXT_PARA) -> *mut ::core::ffi::c_void;
174     #[cfg(feature = "Win32_Foundation")]
CertCreateSelfSignCertificate(hcryptprovorncryptkey: usize, psubjectissuerblob: *const CRYPTOAPI_BLOB, dwflags: CERT_CREATE_SELFSIGN_FLAGS, pkeyprovinfo: *const CRYPT_KEY_PROV_INFO, psignaturealgorithm: *const CRYPT_ALGORITHM_IDENTIFIER, pstarttime: *const super::super::Foundation::SYSTEMTIME, pendtime: *const super::super::Foundation::SYSTEMTIME, pextensions: *const CERT_EXTENSIONS) -> *mut CERT_CONTEXT175     pub fn CertCreateSelfSignCertificate(hcryptprovorncryptkey: usize, psubjectissuerblob: *const CRYPTOAPI_BLOB, dwflags: CERT_CREATE_SELFSIGN_FLAGS, pkeyprovinfo: *const CRYPT_KEY_PROV_INFO, psignaturealgorithm: *const CRYPT_ALGORITHM_IDENTIFIER, pstarttime: *const super::super::Foundation::SYSTEMTIME, pendtime: *const super::super::Foundation::SYSTEMTIME, pextensions: *const CERT_EXTENSIONS) -> *mut CERT_CONTEXT;
176     #[cfg(feature = "Win32_Foundation")]
CertDeleteCRLFromStore(pcrlcontext: *const CRL_CONTEXT) -> super::super::Foundation::BOOL177     pub fn CertDeleteCRLFromStore(pcrlcontext: *const CRL_CONTEXT) -> super::super::Foundation::BOOL;
178     #[cfg(feature = "Win32_Foundation")]
CertDeleteCTLFromStore(pctlcontext: *const CTL_CONTEXT) -> super::super::Foundation::BOOL179     pub fn CertDeleteCTLFromStore(pctlcontext: *const CTL_CONTEXT) -> super::super::Foundation::BOOL;
180     #[cfg(feature = "Win32_Foundation")]
CertDeleteCertificateFromStore(pcertcontext: *const CERT_CONTEXT) -> super::super::Foundation::BOOL181     pub fn CertDeleteCertificateFromStore(pcertcontext: *const CERT_CONTEXT) -> super::super::Foundation::BOOL;
182     #[cfg(feature = "Win32_Foundation")]
CertDuplicateCRLContext(pcrlcontext: *const CRL_CONTEXT) -> *mut CRL_CONTEXT183     pub fn CertDuplicateCRLContext(pcrlcontext: *const CRL_CONTEXT) -> *mut CRL_CONTEXT;
184     #[cfg(feature = "Win32_Foundation")]
CertDuplicateCTLContext(pctlcontext: *const CTL_CONTEXT) -> *mut CTL_CONTEXT185     pub fn CertDuplicateCTLContext(pctlcontext: *const CTL_CONTEXT) -> *mut CTL_CONTEXT;
186     #[cfg(feature = "Win32_Foundation")]
CertDuplicateCertificateChain(pchaincontext: *const CERT_CHAIN_CONTEXT) -> *mut CERT_CHAIN_CONTEXT187     pub fn CertDuplicateCertificateChain(pchaincontext: *const CERT_CHAIN_CONTEXT) -> *mut CERT_CHAIN_CONTEXT;
188     #[cfg(feature = "Win32_Foundation")]
CertDuplicateCertificateContext(pcertcontext: *const CERT_CONTEXT) -> *mut CERT_CONTEXT189     pub fn CertDuplicateCertificateContext(pcertcontext: *const CERT_CONTEXT) -> *mut CERT_CONTEXT;
CertDuplicateStore(hcertstore: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void190     pub fn CertDuplicateStore(hcertstore: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void;
191     #[cfg(feature = "Win32_Foundation")]
CertEnumCRLContextProperties(pcrlcontext: *const CRL_CONTEXT, dwpropid: u32) -> u32192     pub fn CertEnumCRLContextProperties(pcrlcontext: *const CRL_CONTEXT, dwpropid: u32) -> u32;
193     #[cfg(feature = "Win32_Foundation")]
CertEnumCRLsInStore(hcertstore: *const ::core::ffi::c_void, pprevcrlcontext: *const CRL_CONTEXT) -> *mut CRL_CONTEXT194     pub fn CertEnumCRLsInStore(hcertstore: *const ::core::ffi::c_void, pprevcrlcontext: *const CRL_CONTEXT) -> *mut CRL_CONTEXT;
195     #[cfg(feature = "Win32_Foundation")]
CertEnumCTLContextProperties(pctlcontext: *const CTL_CONTEXT, dwpropid: u32) -> u32196     pub fn CertEnumCTLContextProperties(pctlcontext: *const CTL_CONTEXT, dwpropid: u32) -> u32;
197     #[cfg(feature = "Win32_Foundation")]
CertEnumCTLsInStore(hcertstore: *const ::core::ffi::c_void, pprevctlcontext: *const CTL_CONTEXT) -> *mut CTL_CONTEXT198     pub fn CertEnumCTLsInStore(hcertstore: *const ::core::ffi::c_void, pprevctlcontext: *const CTL_CONTEXT) -> *mut CTL_CONTEXT;
199     #[cfg(feature = "Win32_Foundation")]
CertEnumCertificateContextProperties(pcertcontext: *const CERT_CONTEXT, dwpropid: u32) -> u32200     pub fn CertEnumCertificateContextProperties(pcertcontext: *const CERT_CONTEXT, dwpropid: u32) -> u32;
201     #[cfg(feature = "Win32_Foundation")]
CertEnumCertificatesInStore(hcertstore: *const ::core::ffi::c_void, pprevcertcontext: *const CERT_CONTEXT) -> *mut CERT_CONTEXT202     pub fn CertEnumCertificatesInStore(hcertstore: *const ::core::ffi::c_void, pprevcertcontext: *const CERT_CONTEXT) -> *mut CERT_CONTEXT;
203     #[cfg(feature = "Win32_Foundation")]
CertEnumPhysicalStore(pvsystemstore: *const ::core::ffi::c_void, dwflags: u32, pvarg: *mut ::core::ffi::c_void, pfnenum: ::core::option::Option<PFN_CERT_ENUM_PHYSICAL_STORE>) -> super::super::Foundation::BOOL204     pub fn CertEnumPhysicalStore(pvsystemstore: *const ::core::ffi::c_void, dwflags: u32, pvarg: *mut ::core::ffi::c_void, pfnenum: ::core::option::Option<PFN_CERT_ENUM_PHYSICAL_STORE>) -> super::super::Foundation::BOOL;
205     #[cfg(feature = "Win32_Foundation")]
CertEnumSubjectInSortedCTL(pctlcontext: *const CTL_CONTEXT, ppvnextsubject: *mut *mut ::core::ffi::c_void, psubjectidentifier: *mut CRYPTOAPI_BLOB, pencodedattributes: *mut CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL206     pub fn CertEnumSubjectInSortedCTL(pctlcontext: *const CTL_CONTEXT, ppvnextsubject: *mut *mut ::core::ffi::c_void, psubjectidentifier: *mut CRYPTOAPI_BLOB, pencodedattributes: *mut CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL;
207     #[cfg(feature = "Win32_Foundation")]
CertEnumSystemStore(dwflags: u32, pvsystemstorelocationpara: *const ::core::ffi::c_void, pvarg: *mut ::core::ffi::c_void, pfnenum: ::core::option::Option<PFN_CERT_ENUM_SYSTEM_STORE>) -> super::super::Foundation::BOOL208     pub fn CertEnumSystemStore(dwflags: u32, pvsystemstorelocationpara: *const ::core::ffi::c_void, pvarg: *mut ::core::ffi::c_void, pfnenum: ::core::option::Option<PFN_CERT_ENUM_SYSTEM_STORE>) -> super::super::Foundation::BOOL;
209     #[cfg(feature = "Win32_Foundation")]
CertEnumSystemStoreLocation(dwflags: u32, pvarg: *mut ::core::ffi::c_void, pfnenum: ::core::option::Option<PFN_CERT_ENUM_SYSTEM_STORE_LOCATION>) -> super::super::Foundation::BOOL210     pub fn CertEnumSystemStoreLocation(dwflags: u32, pvarg: *mut ::core::ffi::c_void, pfnenum: ::core::option::Option<PFN_CERT_ENUM_SYSTEM_STORE_LOCATION>) -> super::super::Foundation::BOOL;
211     #[cfg(feature = "Win32_Foundation")]
CertFindAttribute(pszobjid: super::super::Foundation::PSTR, cattr: u32, rgattr: *const CRYPT_ATTRIBUTE) -> *mut CRYPT_ATTRIBUTE212     pub fn CertFindAttribute(pszobjid: super::super::Foundation::PSTR, cattr: u32, rgattr: *const CRYPT_ATTRIBUTE) -> *mut CRYPT_ATTRIBUTE;
213     #[cfg(feature = "Win32_Foundation")]
CertFindCRLInStore(hcertstore: *const ::core::ffi::c_void, dwcertencodingtype: u32, dwfindflags: u32, dwfindtype: u32, pvfindpara: *const ::core::ffi::c_void, pprevcrlcontext: *const CRL_CONTEXT) -> *mut CRL_CONTEXT214     pub fn CertFindCRLInStore(hcertstore: *const ::core::ffi::c_void, dwcertencodingtype: u32, dwfindflags: u32, dwfindtype: u32, pvfindpara: *const ::core::ffi::c_void, pprevcrlcontext: *const CRL_CONTEXT) -> *mut CRL_CONTEXT;
215     #[cfg(feature = "Win32_Foundation")]
CertFindCTLInStore(hcertstore: *const ::core::ffi::c_void, dwmsgandcertencodingtype: u32, dwfindflags: u32, dwfindtype: CERT_FIND_TYPE, pvfindpara: *const ::core::ffi::c_void, pprevctlcontext: *const CTL_CONTEXT) -> *mut CTL_CONTEXT216     pub fn CertFindCTLInStore(hcertstore: *const ::core::ffi::c_void, dwmsgandcertencodingtype: u32, dwfindflags: u32, dwfindtype: CERT_FIND_TYPE, pvfindpara: *const ::core::ffi::c_void, pprevctlcontext: *const CTL_CONTEXT) -> *mut CTL_CONTEXT;
217     #[cfg(feature = "Win32_Foundation")]
CertFindCertificateInCRL(pcert: *const CERT_CONTEXT, pcrlcontext: *const CRL_CONTEXT, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, ppcrlentry: *mut *mut CRL_ENTRY) -> super::super::Foundation::BOOL218     pub fn CertFindCertificateInCRL(pcert: *const CERT_CONTEXT, pcrlcontext: *const CRL_CONTEXT, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, ppcrlentry: *mut *mut CRL_ENTRY) -> super::super::Foundation::BOOL;
219     #[cfg(feature = "Win32_Foundation")]
CertFindCertificateInStore(hcertstore: *const ::core::ffi::c_void, dwcertencodingtype: u32, dwfindflags: u32, dwfindtype: CERT_FIND_FLAGS, pvfindpara: *const ::core::ffi::c_void, pprevcertcontext: *const CERT_CONTEXT) -> *mut CERT_CONTEXT220     pub fn CertFindCertificateInStore(hcertstore: *const ::core::ffi::c_void, dwcertencodingtype: u32, dwfindflags: u32, dwfindtype: CERT_FIND_FLAGS, pvfindpara: *const ::core::ffi::c_void, pprevcertcontext: *const CERT_CONTEXT) -> *mut CERT_CONTEXT;
221     #[cfg(feature = "Win32_Foundation")]
CertFindChainInStore(hcertstore: *const ::core::ffi::c_void, dwcertencodingtype: u32, dwfindflags: CERT_FIND_CHAIN_IN_STORE_FLAGS, dwfindtype: u32, pvfindpara: *const ::core::ffi::c_void, pprevchaincontext: *const CERT_CHAIN_CONTEXT) -> *mut CERT_CHAIN_CONTEXT222     pub fn CertFindChainInStore(hcertstore: *const ::core::ffi::c_void, dwcertencodingtype: u32, dwfindflags: CERT_FIND_CHAIN_IN_STORE_FLAGS, dwfindtype: u32, pvfindpara: *const ::core::ffi::c_void, pprevchaincontext: *const CERT_CHAIN_CONTEXT) -> *mut CERT_CHAIN_CONTEXT;
223     #[cfg(feature = "Win32_Foundation")]
CertFindExtension(pszobjid: super::super::Foundation::PSTR, cextensions: u32, rgextensions: *const CERT_EXTENSION) -> *mut CERT_EXTENSION224     pub fn CertFindExtension(pszobjid: super::super::Foundation::PSTR, cextensions: u32, rgextensions: *const CERT_EXTENSION) -> *mut CERT_EXTENSION;
225     #[cfg(feature = "Win32_Foundation")]
CertFindRDNAttr(pszobjid: super::super::Foundation::PSTR, pname: *const CERT_NAME_INFO) -> *mut CERT_RDN_ATTR226     pub fn CertFindRDNAttr(pszobjid: super::super::Foundation::PSTR, pname: *const CERT_NAME_INFO) -> *mut CERT_RDN_ATTR;
227     #[cfg(feature = "Win32_Foundation")]
CertFindSubjectInCTL(dwencodingtype: u32, dwsubjecttype: u32, pvsubject: *const ::core::ffi::c_void, pctlcontext: *const CTL_CONTEXT, dwflags: u32) -> *mut CTL_ENTRY228     pub fn CertFindSubjectInCTL(dwencodingtype: u32, dwsubjecttype: u32, pvsubject: *const ::core::ffi::c_void, pctlcontext: *const CTL_CONTEXT, dwflags: u32) -> *mut CTL_ENTRY;
229     #[cfg(feature = "Win32_Foundation")]
CertFindSubjectInSortedCTL(psubjectidentifier: *const CRYPTOAPI_BLOB, pctlcontext: *const CTL_CONTEXT, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, pencodedattributes: *mut CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL230     pub fn CertFindSubjectInSortedCTL(psubjectidentifier: *const CRYPTOAPI_BLOB, pctlcontext: *const CTL_CONTEXT, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, pencodedattributes: *mut CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL;
231     #[cfg(feature = "Win32_Foundation")]
CertFreeCRLContext(pcrlcontext: *const CRL_CONTEXT) -> super::super::Foundation::BOOL232     pub fn CertFreeCRLContext(pcrlcontext: *const CRL_CONTEXT) -> super::super::Foundation::BOOL;
233     #[cfg(feature = "Win32_Foundation")]
CertFreeCTLContext(pctlcontext: *const CTL_CONTEXT) -> super::super::Foundation::BOOL234     pub fn CertFreeCTLContext(pctlcontext: *const CTL_CONTEXT) -> super::super::Foundation::BOOL;
235     #[cfg(feature = "Win32_Foundation")]
CertFreeCertificateChain(pchaincontext: *const CERT_CHAIN_CONTEXT)236     pub fn CertFreeCertificateChain(pchaincontext: *const CERT_CHAIN_CONTEXT);
CertFreeCertificateChainEngine(hchainengine: HCERTCHAINENGINE)237     pub fn CertFreeCertificateChainEngine(hchainengine: HCERTCHAINENGINE);
238     #[cfg(feature = "Win32_Foundation")]
CertFreeCertificateChainList(prgpselection: *const *const CERT_CHAIN_CONTEXT)239     pub fn CertFreeCertificateChainList(prgpselection: *const *const CERT_CHAIN_CONTEXT);
240     #[cfg(feature = "Win32_Foundation")]
CertFreeCertificateContext(pcertcontext: *const CERT_CONTEXT) -> super::super::Foundation::BOOL241     pub fn CertFreeCertificateContext(pcertcontext: *const CERT_CONTEXT) -> super::super::Foundation::BOOL;
CertFreeServerOcspResponseContext(pserverocspresponsecontext: *const CERT_SERVER_OCSP_RESPONSE_CONTEXT)242     pub fn CertFreeServerOcspResponseContext(pserverocspresponsecontext: *const CERT_SERVER_OCSP_RESPONSE_CONTEXT);
243     #[cfg(feature = "Win32_Foundation")]
CertGetCRLContextProperty(pcrlcontext: *const CRL_CONTEXT, dwpropid: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL244     pub fn CertGetCRLContextProperty(pcrlcontext: *const CRL_CONTEXT, dwpropid: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL;
245     #[cfg(feature = "Win32_Foundation")]
CertGetCRLFromStore(hcertstore: *const ::core::ffi::c_void, pissuercontext: *const CERT_CONTEXT, pprevcrlcontext: *const CRL_CONTEXT, pdwflags: *mut u32) -> *mut CRL_CONTEXT246     pub fn CertGetCRLFromStore(hcertstore: *const ::core::ffi::c_void, pissuercontext: *const CERT_CONTEXT, pprevcrlcontext: *const CRL_CONTEXT, pdwflags: *mut u32) -> *mut CRL_CONTEXT;
247     #[cfg(feature = "Win32_Foundation")]
CertGetCTLContextProperty(pctlcontext: *const CTL_CONTEXT, dwpropid: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL248     pub fn CertGetCTLContextProperty(pctlcontext: *const CTL_CONTEXT, dwpropid: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL;
249     #[cfg(feature = "Win32_Foundation")]
CertGetCertificateChain(hchainengine: HCERTCHAINENGINE, pcertcontext: *const CERT_CONTEXT, ptime: *const super::super::Foundation::FILETIME, hadditionalstore: *const ::core::ffi::c_void, pchainpara: *const CERT_CHAIN_PARA, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, ppchaincontext: *mut *mut CERT_CHAIN_CONTEXT) -> super::super::Foundation::BOOL250     pub fn CertGetCertificateChain(hchainengine: HCERTCHAINENGINE, pcertcontext: *const CERT_CONTEXT, ptime: *const super::super::Foundation::FILETIME, hadditionalstore: *const ::core::ffi::c_void, pchainpara: *const CERT_CHAIN_PARA, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, ppchaincontext: *mut *mut CERT_CHAIN_CONTEXT) -> super::super::Foundation::BOOL;
251     #[cfg(feature = "Win32_Foundation")]
CertGetCertificateContextProperty(pcertcontext: *const CERT_CONTEXT, dwpropid: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL252     pub fn CertGetCertificateContextProperty(pcertcontext: *const CERT_CONTEXT, dwpropid: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL;
253     #[cfg(feature = "Win32_Foundation")]
CertGetEnhancedKeyUsage(pcertcontext: *const CERT_CONTEXT, dwflags: u32, pusage: *mut CTL_USAGE, pcbusage: *mut u32) -> super::super::Foundation::BOOL254     pub fn CertGetEnhancedKeyUsage(pcertcontext: *const CERT_CONTEXT, dwflags: u32, pusage: *mut CTL_USAGE, pcbusage: *mut u32) -> super::super::Foundation::BOOL;
255     #[cfg(feature = "Win32_Foundation")]
CertGetIntendedKeyUsage(dwcertencodingtype: u32, pcertinfo: *const CERT_INFO, pbkeyusage: *mut u8, cbkeyusage: u32) -> super::super::Foundation::BOOL256     pub fn CertGetIntendedKeyUsage(dwcertencodingtype: u32, pcertinfo: *const CERT_INFO, pbkeyusage: *mut u8, cbkeyusage: u32) -> super::super::Foundation::BOOL;
257     #[cfg(feature = "Win32_Foundation")]
CertGetIssuerCertificateFromStore(hcertstore: *const ::core::ffi::c_void, psubjectcontext: *const CERT_CONTEXT, pprevissuercontext: *const CERT_CONTEXT, pdwflags: *mut u32) -> *mut CERT_CONTEXT258     pub fn CertGetIssuerCertificateFromStore(hcertstore: *const ::core::ffi::c_void, psubjectcontext: *const CERT_CONTEXT, pprevissuercontext: *const CERT_CONTEXT, pdwflags: *mut u32) -> *mut CERT_CONTEXT;
259     #[cfg(feature = "Win32_Foundation")]
CertGetNameStringA(pcertcontext: *const CERT_CONTEXT, dwtype: u32, dwflags: u32, pvtypepara: *const ::core::ffi::c_void, psznamestring: super::super::Foundation::PSTR, cchnamestring: u32) -> u32260     pub fn CertGetNameStringA(pcertcontext: *const CERT_CONTEXT, dwtype: u32, dwflags: u32, pvtypepara: *const ::core::ffi::c_void, psznamestring: super::super::Foundation::PSTR, cchnamestring: u32) -> u32;
261     #[cfg(feature = "Win32_Foundation")]
CertGetNameStringW(pcertcontext: *const CERT_CONTEXT, dwtype: u32, dwflags: u32, pvtypepara: *const ::core::ffi::c_void, psznamestring: super::super::Foundation::PWSTR, cchnamestring: u32) -> u32262     pub fn CertGetNameStringW(pcertcontext: *const CERT_CONTEXT, dwtype: u32, dwflags: u32, pvtypepara: *const ::core::ffi::c_void, psznamestring: super::super::Foundation::PWSTR, cchnamestring: u32) -> u32;
263     #[cfg(feature = "Win32_Foundation")]
CertGetPublicKeyLength(dwcertencodingtype: u32, ppublickey: *const CERT_PUBLIC_KEY_INFO) -> u32264     pub fn CertGetPublicKeyLength(dwcertencodingtype: u32, ppublickey: *const CERT_PUBLIC_KEY_INFO) -> u32;
CertGetServerOcspResponseContext(hserverocspresponse: *const ::core::ffi::c_void, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> *mut CERT_SERVER_OCSP_RESPONSE_CONTEXT265     pub fn CertGetServerOcspResponseContext(hserverocspresponse: *const ::core::ffi::c_void, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> *mut CERT_SERVER_OCSP_RESPONSE_CONTEXT;
266     #[cfg(feature = "Win32_Foundation")]
CertGetStoreProperty(hcertstore: *const ::core::ffi::c_void, dwpropid: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL267     pub fn CertGetStoreProperty(hcertstore: *const ::core::ffi::c_void, dwpropid: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL;
268     #[cfg(feature = "Win32_Foundation")]
CertGetSubjectCertificateFromStore(hcertstore: *const ::core::ffi::c_void, dwcertencodingtype: u32, pcertid: *const CERT_INFO) -> *mut CERT_CONTEXT269     pub fn CertGetSubjectCertificateFromStore(hcertstore: *const ::core::ffi::c_void, dwcertencodingtype: u32, pcertid: *const CERT_INFO) -> *mut CERT_CONTEXT;
270     #[cfg(feature = "Win32_Foundation")]
CertGetValidUsages(ccerts: u32, rghcerts: *const *const CERT_CONTEXT, cnumoids: *mut i32, rghoids: *mut super::super::Foundation::PSTR, pcboids: *mut u32) -> super::super::Foundation::BOOL271     pub fn CertGetValidUsages(ccerts: u32, rghcerts: *const *const CERT_CONTEXT, cnumoids: *mut i32, rghoids: *mut super::super::Foundation::PSTR, pcboids: *mut u32) -> super::super::Foundation::BOOL;
272     #[cfg(feature = "Win32_Foundation")]
CertIsRDNAttrsInCertificateName(dwcertencodingtype: u32, dwflags: u32, pcertname: *const CRYPTOAPI_BLOB, prdn: *const CERT_RDN) -> super::super::Foundation::BOOL273     pub fn CertIsRDNAttrsInCertificateName(dwcertencodingtype: u32, dwflags: u32, pcertname: *const CRYPTOAPI_BLOB, prdn: *const CERT_RDN) -> super::super::Foundation::BOOL;
274     #[cfg(feature = "Win32_Foundation")]
CertIsStrongHashToSign(pstrongsignpara: *const CERT_STRONG_SIGN_PARA, pwszcnghashalgid: super::super::Foundation::PWSTR, psigningcert: *const CERT_CONTEXT) -> super::super::Foundation::BOOL275     pub fn CertIsStrongHashToSign(pstrongsignpara: *const CERT_STRONG_SIGN_PARA, pwszcnghashalgid: super::super::Foundation::PWSTR, psigningcert: *const CERT_CONTEXT) -> super::super::Foundation::BOOL;
276     #[cfg(feature = "Win32_Foundation")]
CertIsValidCRLForCertificate(pcert: *const CERT_CONTEXT, pcrl: *const CRL_CONTEXT, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL277     pub fn CertIsValidCRLForCertificate(pcert: *const CERT_CONTEXT, pcrl: *const CRL_CONTEXT, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
278     #[cfg(feature = "Win32_Foundation")]
CertIsWeakHash(dwhashusetype: u32, pwszcnghashalgid: super::super::Foundation::PWSTR, dwchainflags: u32, psignerchaincontext: *const CERT_CHAIN_CONTEXT, ptimestamp: *const super::super::Foundation::FILETIME, pwszfilename: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL279     pub fn CertIsWeakHash(dwhashusetype: u32, pwszcnghashalgid: super::super::Foundation::PWSTR, dwchainflags: u32, psignerchaincontext: *const CERT_CHAIN_CONTEXT, ptimestamp: *const super::super::Foundation::FILETIME, pwszfilename: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL;
280     #[cfg(feature = "Win32_Foundation")]
CertNameToStrA(dwcertencodingtype: u32, pname: *const CRYPTOAPI_BLOB, dwstrtype: CERT_STRING_TYPE, psz: super::super::Foundation::PSTR, csz: u32) -> u32281     pub fn CertNameToStrA(dwcertencodingtype: u32, pname: *const CRYPTOAPI_BLOB, dwstrtype: CERT_STRING_TYPE, psz: super::super::Foundation::PSTR, csz: u32) -> u32;
282     #[cfg(feature = "Win32_Foundation")]
CertNameToStrW(dwcertencodingtype: u32, pname: *const CRYPTOAPI_BLOB, dwstrtype: CERT_STRING_TYPE, psz: super::super::Foundation::PWSTR, csz: u32) -> u32283     pub fn CertNameToStrW(dwcertencodingtype: u32, pname: *const CRYPTOAPI_BLOB, dwstrtype: CERT_STRING_TYPE, psz: super::super::Foundation::PWSTR, csz: u32) -> u32;
284     #[cfg(feature = "Win32_Foundation")]
CertOIDToAlgId(pszobjid: super::super::Foundation::PSTR) -> u32285     pub fn CertOIDToAlgId(pszobjid: super::super::Foundation::PSTR) -> u32;
286     #[cfg(feature = "Win32_Foundation")]
CertOpenServerOcspResponse(pchaincontext: *const CERT_CHAIN_CONTEXT, dwflags: u32, popenpara: *const CERT_SERVER_OCSP_RESPONSE_OPEN_PARA) -> *mut ::core::ffi::c_void287     pub fn CertOpenServerOcspResponse(pchaincontext: *const CERT_CHAIN_CONTEXT, dwflags: u32, popenpara: *const CERT_SERVER_OCSP_RESPONSE_OPEN_PARA) -> *mut ::core::ffi::c_void;
288     #[cfg(feature = "Win32_Foundation")]
CertOpenStore(lpszstoreprovider: super::super::Foundation::PSTR, dwencodingtype: CERT_QUERY_ENCODING_TYPE, hcryptprov: usize, dwflags: CERT_OPEN_STORE_FLAGS, pvpara: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void289     pub fn CertOpenStore(lpszstoreprovider: super::super::Foundation::PSTR, dwencodingtype: CERT_QUERY_ENCODING_TYPE, hcryptprov: usize, dwflags: CERT_OPEN_STORE_FLAGS, pvpara: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void;
290     #[cfg(feature = "Win32_Foundation")]
CertOpenSystemStoreA(hprov: usize, szsubsystemprotocol: super::super::Foundation::PSTR) -> *mut ::core::ffi::c_void291     pub fn CertOpenSystemStoreA(hprov: usize, szsubsystemprotocol: super::super::Foundation::PSTR) -> *mut ::core::ffi::c_void;
292     #[cfg(feature = "Win32_Foundation")]
CertOpenSystemStoreW(hprov: usize, szsubsystemprotocol: super::super::Foundation::PWSTR) -> *mut ::core::ffi::c_void293     pub fn CertOpenSystemStoreW(hprov: usize, szsubsystemprotocol: super::super::Foundation::PWSTR) -> *mut ::core::ffi::c_void;
294     #[cfg(feature = "Win32_Foundation")]
CertRDNValueToStrA(dwvaluetype: u32, pvalue: *const CRYPTOAPI_BLOB, psz: super::super::Foundation::PSTR, csz: u32) -> u32295     pub fn CertRDNValueToStrA(dwvaluetype: u32, pvalue: *const CRYPTOAPI_BLOB, psz: super::super::Foundation::PSTR, csz: u32) -> u32;
296     #[cfg(feature = "Win32_Foundation")]
CertRDNValueToStrW(dwvaluetype: u32, pvalue: *const CRYPTOAPI_BLOB, psz: super::super::Foundation::PWSTR, csz: u32) -> u32297     pub fn CertRDNValueToStrW(dwvaluetype: u32, pvalue: *const CRYPTOAPI_BLOB, psz: super::super::Foundation::PWSTR, csz: u32) -> u32;
298     #[cfg(feature = "Win32_Foundation")]
CertRegisterPhysicalStore(pvsystemstore: *const ::core::ffi::c_void, dwflags: u32, pwszstorename: super::super::Foundation::PWSTR, pstoreinfo: *const CERT_PHYSICAL_STORE_INFO, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL299     pub fn CertRegisterPhysicalStore(pvsystemstore: *const ::core::ffi::c_void, dwflags: u32, pwszstorename: super::super::Foundation::PWSTR, pstoreinfo: *const CERT_PHYSICAL_STORE_INFO, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
300     #[cfg(feature = "Win32_Foundation")]
CertRegisterSystemStore(pvsystemstore: *const ::core::ffi::c_void, dwflags: u32, pstoreinfo: *const CERT_SYSTEM_STORE_INFO, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL301     pub fn CertRegisterSystemStore(pvsystemstore: *const ::core::ffi::c_void, dwflags: u32, pstoreinfo: *const CERT_SYSTEM_STORE_INFO, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
302     #[cfg(feature = "Win32_Foundation")]
CertRemoveEnhancedKeyUsageIdentifier(pcertcontext: *const CERT_CONTEXT, pszusageidentifier: super::super::Foundation::PSTR) -> super::super::Foundation::BOOL303     pub fn CertRemoveEnhancedKeyUsageIdentifier(pcertcontext: *const CERT_CONTEXT, pszusageidentifier: super::super::Foundation::PSTR) -> super::super::Foundation::BOOL;
CertRemoveStoreFromCollection(hcollectionstore: *const ::core::ffi::c_void, hsiblingstore: *const ::core::ffi::c_void)304     pub fn CertRemoveStoreFromCollection(hcollectionstore: *const ::core::ffi::c_void, hsiblingstore: *const ::core::ffi::c_void);
305     #[cfg(feature = "Win32_Foundation")]
CertResyncCertificateChainEngine(hchainengine: HCERTCHAINENGINE) -> super::super::Foundation::BOOL306     pub fn CertResyncCertificateChainEngine(hchainengine: HCERTCHAINENGINE) -> super::super::Foundation::BOOL;
307     #[cfg(feature = "Win32_Foundation")]
CertRetrieveLogoOrBiometricInfo(pcertcontext: *const CERT_CONTEXT, lpszlogoorbiometrictype: super::super::Foundation::PSTR, dwretrievalflags: u32, dwtimeout: u32, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, ppbdata: *mut *mut u8, pcbdata: *mut u32, ppwszmimetype: *mut super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL308     pub fn CertRetrieveLogoOrBiometricInfo(pcertcontext: *const CERT_CONTEXT, lpszlogoorbiometrictype: super::super::Foundation::PSTR, dwretrievalflags: u32, dwtimeout: u32, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, ppbdata: *mut *mut u8, pcbdata: *mut u32, ppwszmimetype: *mut super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL;
309     #[cfg(feature = "Win32_Foundation")]
CertSaveStore(hcertstore: *const ::core::ffi::c_void, dwencodingtype: CERT_QUERY_ENCODING_TYPE, dwsaveas: CERT_STORE_SAVE_AS, dwsaveto: CERT_STORE_SAVE_TO, pvsavetopara: *mut ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL310     pub fn CertSaveStore(hcertstore: *const ::core::ffi::c_void, dwencodingtype: CERT_QUERY_ENCODING_TYPE, dwsaveas: CERT_STORE_SAVE_AS, dwsaveto: CERT_STORE_SAVE_TO, pvsavetopara: *mut ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL;
311     #[cfg(feature = "Win32_Foundation")]
CertSelectCertificateChains(pselectioncontext: *const ::windows_sys::core::GUID, dwflags: u32, pchainparameters: *const CERT_SELECT_CHAIN_PARA, ccriteria: u32, rgpcriteria: *const CERT_SELECT_CRITERIA, hstore: *const ::core::ffi::c_void, pcselection: *mut u32, pprgpselection: *mut *mut *mut CERT_CHAIN_CONTEXT) -> super::super::Foundation::BOOL312     pub fn CertSelectCertificateChains(pselectioncontext: *const ::windows_sys::core::GUID, dwflags: u32, pchainparameters: *const CERT_SELECT_CHAIN_PARA, ccriteria: u32, rgpcriteria: *const CERT_SELECT_CRITERIA, hstore: *const ::core::ffi::c_void, pcselection: *mut u32, pprgpselection: *mut *mut *mut CERT_CHAIN_CONTEXT) -> super::super::Foundation::BOOL;
313     #[cfg(feature = "Win32_Foundation")]
CertSerializeCRLStoreElement(pcrlcontext: *const CRL_CONTEXT, dwflags: u32, pbelement: *mut u8, pcbelement: *mut u32) -> super::super::Foundation::BOOL314     pub fn CertSerializeCRLStoreElement(pcrlcontext: *const CRL_CONTEXT, dwflags: u32, pbelement: *mut u8, pcbelement: *mut u32) -> super::super::Foundation::BOOL;
315     #[cfg(feature = "Win32_Foundation")]
CertSerializeCTLStoreElement(pctlcontext: *const CTL_CONTEXT, dwflags: u32, pbelement: *mut u8, pcbelement: *mut u32) -> super::super::Foundation::BOOL316     pub fn CertSerializeCTLStoreElement(pctlcontext: *const CTL_CONTEXT, dwflags: u32, pbelement: *mut u8, pcbelement: *mut u32) -> super::super::Foundation::BOOL;
317     #[cfg(feature = "Win32_Foundation")]
CertSerializeCertificateStoreElement(pcertcontext: *const CERT_CONTEXT, dwflags: u32, pbelement: *mut u8, pcbelement: *mut u32) -> super::super::Foundation::BOOL318     pub fn CertSerializeCertificateStoreElement(pcertcontext: *const CERT_CONTEXT, dwflags: u32, pbelement: *mut u8, pcbelement: *mut u32) -> super::super::Foundation::BOOL;
319     #[cfg(feature = "Win32_Foundation")]
CertSetCRLContextProperty(pcrlcontext: *const CRL_CONTEXT, dwpropid: u32, dwflags: u32, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL320     pub fn CertSetCRLContextProperty(pcrlcontext: *const CRL_CONTEXT, dwpropid: u32, dwflags: u32, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
321     #[cfg(feature = "Win32_Foundation")]
CertSetCTLContextProperty(pctlcontext: *const CTL_CONTEXT, dwpropid: u32, dwflags: u32, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL322     pub fn CertSetCTLContextProperty(pctlcontext: *const CTL_CONTEXT, dwpropid: u32, dwflags: u32, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
323     #[cfg(feature = "Win32_Foundation")]
CertSetCertificateContextPropertiesFromCTLEntry(pcertcontext: *const CERT_CONTEXT, pctlentry: *const CTL_ENTRY, dwflags: u32) -> super::super::Foundation::BOOL324     pub fn CertSetCertificateContextPropertiesFromCTLEntry(pcertcontext: *const CERT_CONTEXT, pctlentry: *const CTL_ENTRY, dwflags: u32) -> super::super::Foundation::BOOL;
325     #[cfg(feature = "Win32_Foundation")]
CertSetCertificateContextProperty(pcertcontext: *const CERT_CONTEXT, dwpropid: u32, dwflags: u32, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL326     pub fn CertSetCertificateContextProperty(pcertcontext: *const CERT_CONTEXT, dwpropid: u32, dwflags: u32, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
327     #[cfg(feature = "Win32_Foundation")]
CertSetEnhancedKeyUsage(pcertcontext: *const CERT_CONTEXT, pusage: *const CTL_USAGE) -> super::super::Foundation::BOOL328     pub fn CertSetEnhancedKeyUsage(pcertcontext: *const CERT_CONTEXT, pusage: *const CTL_USAGE) -> super::super::Foundation::BOOL;
329     #[cfg(feature = "Win32_Foundation")]
CertSetStoreProperty(hcertstore: *const ::core::ffi::c_void, dwpropid: u32, dwflags: u32, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL330     pub fn CertSetStoreProperty(hcertstore: *const ::core::ffi::c_void, dwpropid: u32, dwflags: u32, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
331     #[cfg(feature = "Win32_Foundation")]
CertStrToNameA(dwcertencodingtype: u32, pszx500: super::super::Foundation::PSTR, dwstrtype: CERT_STRING_TYPE, pvreserved: *mut ::core::ffi::c_void, pbencoded: *mut u8, pcbencoded: *mut u32, ppszerror: *mut super::super::Foundation::PSTR) -> super::super::Foundation::BOOL332     pub fn CertStrToNameA(dwcertencodingtype: u32, pszx500: super::super::Foundation::PSTR, dwstrtype: CERT_STRING_TYPE, pvreserved: *mut ::core::ffi::c_void, pbencoded: *mut u8, pcbencoded: *mut u32, ppszerror: *mut super::super::Foundation::PSTR) -> super::super::Foundation::BOOL;
333     #[cfg(feature = "Win32_Foundation")]
CertStrToNameW(dwcertencodingtype: u32, pszx500: super::super::Foundation::PWSTR, dwstrtype: CERT_STRING_TYPE, pvreserved: *mut ::core::ffi::c_void, pbencoded: *mut u8, pcbencoded: *mut u32, ppszerror: *mut super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL334     pub fn CertStrToNameW(dwcertencodingtype: u32, pszx500: super::super::Foundation::PWSTR, dwstrtype: CERT_STRING_TYPE, pvreserved: *mut ::core::ffi::c_void, pbencoded: *mut u8, pcbencoded: *mut u32, ppszerror: *mut super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL;
335     #[cfg(feature = "Win32_Foundation")]
CertUnregisterPhysicalStore(pvsystemstore: *const ::core::ffi::c_void, dwflags: u32, pwszstorename: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL336     pub fn CertUnregisterPhysicalStore(pvsystemstore: *const ::core::ffi::c_void, dwflags: u32, pwszstorename: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL;
337     #[cfg(feature = "Win32_Foundation")]
CertUnregisterSystemStore(pvsystemstore: *const ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL338     pub fn CertUnregisterSystemStore(pvsystemstore: *const ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL;
339     #[cfg(feature = "Win32_Foundation")]
CertVerifyCRLRevocation(dwcertencodingtype: u32, pcertid: *const CERT_INFO, ccrlinfo: u32, rgpcrlinfo: *const *const CRL_INFO) -> super::super::Foundation::BOOL340     pub fn CertVerifyCRLRevocation(dwcertencodingtype: u32, pcertid: *const CERT_INFO, ccrlinfo: u32, rgpcrlinfo: *const *const CRL_INFO) -> super::super::Foundation::BOOL;
341     #[cfg(feature = "Win32_Foundation")]
CertVerifyCRLTimeValidity(ptimetoverify: *const super::super::Foundation::FILETIME, pcrlinfo: *const CRL_INFO) -> i32342     pub fn CertVerifyCRLTimeValidity(ptimetoverify: *const super::super::Foundation::FILETIME, pcrlinfo: *const CRL_INFO) -> i32;
343     #[cfg(feature = "Win32_Foundation")]
CertVerifyCTLUsage(dwencodingtype: u32, dwsubjecttype: u32, pvsubject: *const ::core::ffi::c_void, psubjectusage: *const CTL_USAGE, dwflags: u32, pverifyusagepara: *const CTL_VERIFY_USAGE_PARA, pverifyusagestatus: *mut CTL_VERIFY_USAGE_STATUS) -> super::super::Foundation::BOOL344     pub fn CertVerifyCTLUsage(dwencodingtype: u32, dwsubjecttype: u32, pvsubject: *const ::core::ffi::c_void, psubjectusage: *const CTL_USAGE, dwflags: u32, pverifyusagepara: *const CTL_VERIFY_USAGE_PARA, pverifyusagestatus: *mut CTL_VERIFY_USAGE_STATUS) -> super::super::Foundation::BOOL;
345     #[cfg(feature = "Win32_Foundation")]
CertVerifyCertificateChainPolicy(pszpolicyoid: super::super::Foundation::PSTR, pchaincontext: *const CERT_CHAIN_CONTEXT, ppolicypara: *const CERT_CHAIN_POLICY_PARA, ppolicystatus: *mut CERT_CHAIN_POLICY_STATUS) -> super::super::Foundation::BOOL346     pub fn CertVerifyCertificateChainPolicy(pszpolicyoid: super::super::Foundation::PSTR, pchaincontext: *const CERT_CHAIN_CONTEXT, ppolicypara: *const CERT_CHAIN_POLICY_PARA, ppolicystatus: *mut CERT_CHAIN_POLICY_STATUS) -> super::super::Foundation::BOOL;
347     #[cfg(feature = "Win32_Foundation")]
CertVerifyRevocation(dwencodingtype: u32, dwrevtype: u32, ccontext: u32, rgpvcontext: *const *const ::core::ffi::c_void, dwflags: u32, prevpara: *const CERT_REVOCATION_PARA, prevstatus: *mut CERT_REVOCATION_STATUS) -> super::super::Foundation::BOOL348     pub fn CertVerifyRevocation(dwencodingtype: u32, dwrevtype: u32, ccontext: u32, rgpvcontext: *const *const ::core::ffi::c_void, dwflags: u32, prevpara: *const CERT_REVOCATION_PARA, prevstatus: *mut CERT_REVOCATION_STATUS) -> super::super::Foundation::BOOL;
349     #[cfg(feature = "Win32_Foundation")]
CertVerifySubjectCertificateContext(psubject: *const CERT_CONTEXT, pissuer: *const CERT_CONTEXT, pdwflags: *mut u32) -> super::super::Foundation::BOOL350     pub fn CertVerifySubjectCertificateContext(psubject: *const CERT_CONTEXT, pissuer: *const CERT_CONTEXT, pdwflags: *mut u32) -> super::super::Foundation::BOOL;
351     #[cfg(feature = "Win32_Foundation")]
CertVerifyTimeValidity(ptimetoverify: *const super::super::Foundation::FILETIME, pcertinfo: *const CERT_INFO) -> i32352     pub fn CertVerifyTimeValidity(ptimetoverify: *const super::super::Foundation::FILETIME, pcertinfo: *const CERT_INFO) -> i32;
353     #[cfg(feature = "Win32_Foundation")]
CertVerifyValidityNesting(psubjectinfo: *const CERT_INFO, pissuerinfo: *const CERT_INFO) -> super::super::Foundation::BOOL354     pub fn CertVerifyValidityNesting(psubjectinfo: *const CERT_INFO, pissuerinfo: *const CERT_INFO) -> super::super::Foundation::BOOL;
CloseCryptoHandle(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE) -> ::windows_sys::core::HRESULT355     pub fn CloseCryptoHandle(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE) -> ::windows_sys::core::HRESULT;
356     #[cfg(feature = "Win32_Foundation")]
CryptAcquireCertificatePrivateKey(pcert: *const CERT_CONTEXT, dwflags: CRYPT_ACQUIRE_FLAGS, pvparameters: *const ::core::ffi::c_void, phcryptprovorncryptkey: *mut usize, pdwkeyspec: *mut CERT_KEY_SPEC, pfcallerfreeprovorncryptkey: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL357     pub fn CryptAcquireCertificatePrivateKey(pcert: *const CERT_CONTEXT, dwflags: CRYPT_ACQUIRE_FLAGS, pvparameters: *const ::core::ffi::c_void, phcryptprovorncryptkey: *mut usize, pdwkeyspec: *mut CERT_KEY_SPEC, pfcallerfreeprovorncryptkey: *mut super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
358     #[cfg(feature = "Win32_Foundation")]
CryptAcquireContextA(phprov: *mut usize, szcontainer: super::super::Foundation::PSTR, szprovider: super::super::Foundation::PSTR, dwprovtype: u32, dwflags: u32) -> super::super::Foundation::BOOL359     pub fn CryptAcquireContextA(phprov: *mut usize, szcontainer: super::super::Foundation::PSTR, szprovider: super::super::Foundation::PSTR, dwprovtype: u32, dwflags: u32) -> super::super::Foundation::BOOL;
360     #[cfg(feature = "Win32_Foundation")]
CryptAcquireContextW(phprov: *mut usize, szcontainer: super::super::Foundation::PWSTR, szprovider: super::super::Foundation::PWSTR, dwprovtype: u32, dwflags: u32) -> super::super::Foundation::BOOL361     pub fn CryptAcquireContextW(phprov: *mut usize, szcontainer: super::super::Foundation::PWSTR, szprovider: super::super::Foundation::PWSTR, dwprovtype: u32, dwflags: u32) -> super::super::Foundation::BOOL;
362     #[cfg(feature = "Win32_Foundation")]
CryptBinaryToStringA(pbbinary: *const u8, cbbinary: u32, dwflags: CRYPT_STRING, pszstring: super::super::Foundation::PSTR, pcchstring: *mut u32) -> super::super::Foundation::BOOL363     pub fn CryptBinaryToStringA(pbbinary: *const u8, cbbinary: u32, dwflags: CRYPT_STRING, pszstring: super::super::Foundation::PSTR, pcchstring: *mut u32) -> super::super::Foundation::BOOL;
364     #[cfg(feature = "Win32_Foundation")]
CryptBinaryToStringW(pbbinary: *const u8, cbbinary: u32, dwflags: CRYPT_STRING, pszstring: super::super::Foundation::PWSTR, pcchstring: *mut u32) -> super::super::Foundation::BOOL365     pub fn CryptBinaryToStringW(pbbinary: *const u8, cbbinary: u32, dwflags: CRYPT_STRING, pszstring: super::super::Foundation::PWSTR, pcchstring: *mut u32) -> super::super::Foundation::BOOL;
366     #[cfg(feature = "Win32_Foundation")]
CryptCloseAsyncHandle(hasync: HCRYPTASYNC) -> super::super::Foundation::BOOL367     pub fn CryptCloseAsyncHandle(hasync: HCRYPTASYNC) -> super::super::Foundation::BOOL;
368     #[cfg(feature = "Win32_Foundation")]
CryptContextAddRef(hprov: usize, pdwreserved: *mut u32, dwflags: u32) -> super::super::Foundation::BOOL369     pub fn CryptContextAddRef(hprov: usize, pdwreserved: *mut u32, dwflags: u32) -> super::super::Foundation::BOOL;
370     #[cfg(feature = "Win32_Foundation")]
CryptCreateAsyncHandle(dwflags: u32, phasync: *mut HCRYPTASYNC) -> super::super::Foundation::BOOL371     pub fn CryptCreateAsyncHandle(dwflags: u32, phasync: *mut HCRYPTASYNC) -> super::super::Foundation::BOOL;
372     #[cfg(feature = "Win32_Foundation")]
CryptCreateHash(hprov: usize, algid: u32, hkey: usize, dwflags: u32, phhash: *mut usize) -> super::super::Foundation::BOOL373     pub fn CryptCreateHash(hprov: usize, algid: u32, hkey: usize, dwflags: u32, phhash: *mut usize) -> super::super::Foundation::BOOL;
374     #[cfg(feature = "Win32_Foundation")]
CryptCreateKeyIdentifierFromCSP(dwcertencodingtype: u32, pszpubkeyoid: super::super::Foundation::PSTR, ppubkeystruc: *const PUBLICKEYSTRUC, cbpubkeystruc: u32, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, pbhash: *mut u8, pcbhash: *mut u32) -> super::super::Foundation::BOOL375     pub fn CryptCreateKeyIdentifierFromCSP(dwcertencodingtype: u32, pszpubkeyoid: super::super::Foundation::PSTR, ppubkeystruc: *const PUBLICKEYSTRUC, cbpubkeystruc: u32, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, pbhash: *mut u8, pcbhash: *mut u32) -> super::super::Foundation::BOOL;
376     #[cfg(feature = "Win32_Foundation")]
CryptDecodeMessage(dwmsgtypeflags: u32, pdecryptpara: *const CRYPT_DECRYPT_MESSAGE_PARA, pverifypara: *const CRYPT_VERIFY_MESSAGE_PARA, dwsignerindex: u32, pbencodedblob: *const u8, cbencodedblob: u32, dwprevinnercontenttype: u32, pdwmsgtype: *mut u32, pdwinnercontenttype: *mut u32, pbdecoded: *mut u8, pcbdecoded: *mut u32, ppxchgcert: *mut *mut CERT_CONTEXT, ppsignercert: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL377     pub fn CryptDecodeMessage(dwmsgtypeflags: u32, pdecryptpara: *const CRYPT_DECRYPT_MESSAGE_PARA, pverifypara: *const CRYPT_VERIFY_MESSAGE_PARA, dwsignerindex: u32, pbencodedblob: *const u8, cbencodedblob: u32, dwprevinnercontenttype: u32, pdwmsgtype: *mut u32, pdwinnercontenttype: *mut u32, pbdecoded: *mut u8, pcbdecoded: *mut u32, ppxchgcert: *mut *mut CERT_CONTEXT, ppsignercert: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL;
378     #[cfg(feature = "Win32_Foundation")]
CryptDecodeObject(dwcertencodingtype: u32, lpszstructtype: super::super::Foundation::PSTR, pbencoded: *const u8, cbencoded: u32, dwflags: u32, pvstructinfo: *mut ::core::ffi::c_void, pcbstructinfo: *mut u32) -> super::super::Foundation::BOOL379     pub fn CryptDecodeObject(dwcertencodingtype: u32, lpszstructtype: super::super::Foundation::PSTR, pbencoded: *const u8, cbencoded: u32, dwflags: u32, pvstructinfo: *mut ::core::ffi::c_void, pcbstructinfo: *mut u32) -> super::super::Foundation::BOOL;
380     #[cfg(feature = "Win32_Foundation")]
CryptDecodeObjectEx(dwcertencodingtype: u32, lpszstructtype: super::super::Foundation::PSTR, pbencoded: *const u8, cbencoded: u32, dwflags: u32, pdecodepara: *const CRYPT_DECODE_PARA, pvstructinfo: *mut ::core::ffi::c_void, pcbstructinfo: *mut u32) -> super::super::Foundation::BOOL381     pub fn CryptDecodeObjectEx(dwcertencodingtype: u32, lpszstructtype: super::super::Foundation::PSTR, pbencoded: *const u8, cbencoded: u32, dwflags: u32, pdecodepara: *const CRYPT_DECODE_PARA, pvstructinfo: *mut ::core::ffi::c_void, pcbstructinfo: *mut u32) -> super::super::Foundation::BOOL;
382     #[cfg(feature = "Win32_Foundation")]
CryptDecrypt(hkey: usize, hhash: usize, r#final: super::super::Foundation::BOOL, dwflags: u32, pbdata: *mut u8, pdwdatalen: *mut u32) -> super::super::Foundation::BOOL383     pub fn CryptDecrypt(hkey: usize, hhash: usize, r#final: super::super::Foundation::BOOL, dwflags: u32, pbdata: *mut u8, pdwdatalen: *mut u32) -> super::super::Foundation::BOOL;
384     #[cfg(feature = "Win32_Foundation")]
CryptDecryptAndVerifyMessageSignature(pdecryptpara: *const CRYPT_DECRYPT_MESSAGE_PARA, pverifypara: *const CRYPT_VERIFY_MESSAGE_PARA, dwsignerindex: u32, pbencryptedblob: *const u8, cbencryptedblob: u32, pbdecrypted: *mut u8, pcbdecrypted: *mut u32, ppxchgcert: *mut *mut CERT_CONTEXT, ppsignercert: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL385     pub fn CryptDecryptAndVerifyMessageSignature(pdecryptpara: *const CRYPT_DECRYPT_MESSAGE_PARA, pverifypara: *const CRYPT_VERIFY_MESSAGE_PARA, dwsignerindex: u32, pbencryptedblob: *const u8, cbencryptedblob: u32, pbdecrypted: *mut u8, pcbdecrypted: *mut u32, ppxchgcert: *mut *mut CERT_CONTEXT, ppsignercert: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL;
386     #[cfg(feature = "Win32_Foundation")]
CryptDecryptMessage(pdecryptpara: *const CRYPT_DECRYPT_MESSAGE_PARA, pbencryptedblob: *const u8, cbencryptedblob: u32, pbdecrypted: *mut u8, pcbdecrypted: *mut u32, ppxchgcert: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL387     pub fn CryptDecryptMessage(pdecryptpara: *const CRYPT_DECRYPT_MESSAGE_PARA, pbencryptedblob: *const u8, cbencryptedblob: u32, pbdecrypted: *mut u8, pcbdecrypted: *mut u32, ppxchgcert: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL;
388     #[cfg(feature = "Win32_Foundation")]
CryptDeriveKey(hprov: usize, algid: u32, hbasedata: usize, dwflags: u32, phkey: *mut usize) -> super::super::Foundation::BOOL389     pub fn CryptDeriveKey(hprov: usize, algid: u32, hbasedata: usize, dwflags: u32, phkey: *mut usize) -> super::super::Foundation::BOOL;
390     #[cfg(feature = "Win32_Foundation")]
CryptDestroyHash(hhash: usize) -> super::super::Foundation::BOOL391     pub fn CryptDestroyHash(hhash: usize) -> super::super::Foundation::BOOL;
392     #[cfg(feature = "Win32_Foundation")]
CryptDestroyKey(hkey: usize) -> super::super::Foundation::BOOL393     pub fn CryptDestroyKey(hkey: usize) -> super::super::Foundation::BOOL;
394     #[cfg(feature = "Win32_Foundation")]
CryptDuplicateHash(hhash: usize, pdwreserved: *mut u32, dwflags: u32, phhash: *mut usize) -> super::super::Foundation::BOOL395     pub fn CryptDuplicateHash(hhash: usize, pdwreserved: *mut u32, dwflags: u32, phhash: *mut usize) -> super::super::Foundation::BOOL;
396     #[cfg(feature = "Win32_Foundation")]
CryptDuplicateKey(hkey: usize, pdwreserved: *mut u32, dwflags: u32, phkey: *mut usize) -> super::super::Foundation::BOOL397     pub fn CryptDuplicateKey(hkey: usize, pdwreserved: *mut u32, dwflags: u32, phkey: *mut usize) -> super::super::Foundation::BOOL;
398     #[cfg(feature = "Win32_Foundation")]
CryptEncodeObject(dwcertencodingtype: u32, lpszstructtype: super::super::Foundation::PSTR, pvstructinfo: *const ::core::ffi::c_void, pbencoded: *mut u8, pcbencoded: *mut u32) -> super::super::Foundation::BOOL399     pub fn CryptEncodeObject(dwcertencodingtype: u32, lpszstructtype: super::super::Foundation::PSTR, pvstructinfo: *const ::core::ffi::c_void, pbencoded: *mut u8, pcbencoded: *mut u32) -> super::super::Foundation::BOOL;
400     #[cfg(feature = "Win32_Foundation")]
CryptEncodeObjectEx(dwcertencodingtype: CERT_QUERY_ENCODING_TYPE, lpszstructtype: super::super::Foundation::PSTR, pvstructinfo: *const ::core::ffi::c_void, dwflags: CRYPT_ENCODE_OBJECT_FLAGS, pencodepara: *const CRYPT_ENCODE_PARA, pvencoded: *mut ::core::ffi::c_void, pcbencoded: *mut u32) -> super::super::Foundation::BOOL401     pub fn CryptEncodeObjectEx(dwcertencodingtype: CERT_QUERY_ENCODING_TYPE, lpszstructtype: super::super::Foundation::PSTR, pvstructinfo: *const ::core::ffi::c_void, dwflags: CRYPT_ENCODE_OBJECT_FLAGS, pencodepara: *const CRYPT_ENCODE_PARA, pvencoded: *mut ::core::ffi::c_void, pcbencoded: *mut u32) -> super::super::Foundation::BOOL;
402     #[cfg(feature = "Win32_Foundation")]
CryptEncrypt(hkey: usize, hhash: usize, r#final: super::super::Foundation::BOOL, dwflags: u32, pbdata: *mut u8, pdwdatalen: *mut u32, dwbuflen: u32) -> super::super::Foundation::BOOL403     pub fn CryptEncrypt(hkey: usize, hhash: usize, r#final: super::super::Foundation::BOOL, dwflags: u32, pbdata: *mut u8, pdwdatalen: *mut u32, dwbuflen: u32) -> super::super::Foundation::BOOL;
404     #[cfg(feature = "Win32_Foundation")]
CryptEncryptMessage(pencryptpara: *const CRYPT_ENCRYPT_MESSAGE_PARA, crecipientcert: u32, rgprecipientcert: *const *const CERT_CONTEXT, pbtobeencrypted: *const u8, cbtobeencrypted: u32, pbencryptedblob: *mut u8, pcbencryptedblob: *mut u32) -> super::super::Foundation::BOOL405     pub fn CryptEncryptMessage(pencryptpara: *const CRYPT_ENCRYPT_MESSAGE_PARA, crecipientcert: u32, rgprecipientcert: *const *const CERT_CONTEXT, pbtobeencrypted: *const u8, cbtobeencrypted: u32, pbencryptedblob: *mut u8, pcbencryptedblob: *mut u32) -> super::super::Foundation::BOOL;
406     #[cfg(feature = "Win32_Foundation")]
CryptEnumKeyIdentifierProperties(pkeyidentifier: *const CRYPTOAPI_BLOB, dwpropid: u32, dwflags: u32, pwszcomputername: super::super::Foundation::PWSTR, pvreserved: *mut ::core::ffi::c_void, pvarg: *mut ::core::ffi::c_void, pfnenum: ::core::option::Option<PFN_CRYPT_ENUM_KEYID_PROP>) -> super::super::Foundation::BOOL407     pub fn CryptEnumKeyIdentifierProperties(pkeyidentifier: *const CRYPTOAPI_BLOB, dwpropid: u32, dwflags: u32, pwszcomputername: super::super::Foundation::PWSTR, pvreserved: *mut ::core::ffi::c_void, pvarg: *mut ::core::ffi::c_void, pfnenum: ::core::option::Option<PFN_CRYPT_ENUM_KEYID_PROP>) -> super::super::Foundation::BOOL;
408     #[cfg(feature = "Win32_Foundation")]
CryptEnumOIDFunction(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pszoid: super::super::Foundation::PSTR, dwflags: u32, pvarg: *mut ::core::ffi::c_void, pfnenumoidfunc: ::core::option::Option<PFN_CRYPT_ENUM_OID_FUNC>) -> super::super::Foundation::BOOL409     pub fn CryptEnumOIDFunction(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pszoid: super::super::Foundation::PSTR, dwflags: u32, pvarg: *mut ::core::ffi::c_void, pfnenumoidfunc: ::core::option::Option<PFN_CRYPT_ENUM_OID_FUNC>) -> super::super::Foundation::BOOL;
410     #[cfg(feature = "Win32_Foundation")]
CryptEnumOIDInfo(dwgroupid: u32, dwflags: u32, pvarg: *mut ::core::ffi::c_void, pfnenumoidinfo: ::core::option::Option<PFN_CRYPT_ENUM_OID_INFO>) -> super::super::Foundation::BOOL411     pub fn CryptEnumOIDInfo(dwgroupid: u32, dwflags: u32, pvarg: *mut ::core::ffi::c_void, pfnenumoidinfo: ::core::option::Option<PFN_CRYPT_ENUM_OID_INFO>) -> super::super::Foundation::BOOL;
412     #[cfg(feature = "Win32_Foundation")]
CryptEnumProviderTypesA(dwindex: u32, pdwreserved: *mut u32, dwflags: u32, pdwprovtype: *mut u32, sztypename: super::super::Foundation::PSTR, pcbtypename: *mut u32) -> super::super::Foundation::BOOL413     pub fn CryptEnumProviderTypesA(dwindex: u32, pdwreserved: *mut u32, dwflags: u32, pdwprovtype: *mut u32, sztypename: super::super::Foundation::PSTR, pcbtypename: *mut u32) -> super::super::Foundation::BOOL;
414     #[cfg(feature = "Win32_Foundation")]
CryptEnumProviderTypesW(dwindex: u32, pdwreserved: *mut u32, dwflags: u32, pdwprovtype: *mut u32, sztypename: super::super::Foundation::PWSTR, pcbtypename: *mut u32) -> super::super::Foundation::BOOL415     pub fn CryptEnumProviderTypesW(dwindex: u32, pdwreserved: *mut u32, dwflags: u32, pdwprovtype: *mut u32, sztypename: super::super::Foundation::PWSTR, pcbtypename: *mut u32) -> super::super::Foundation::BOOL;
416     #[cfg(feature = "Win32_Foundation")]
CryptEnumProvidersA(dwindex: u32, pdwreserved: *mut u32, dwflags: u32, pdwprovtype: *mut u32, szprovname: super::super::Foundation::PSTR, pcbprovname: *mut u32) -> super::super::Foundation::BOOL417     pub fn CryptEnumProvidersA(dwindex: u32, pdwreserved: *mut u32, dwflags: u32, pdwprovtype: *mut u32, szprovname: super::super::Foundation::PSTR, pcbprovname: *mut u32) -> super::super::Foundation::BOOL;
418     #[cfg(feature = "Win32_Foundation")]
CryptEnumProvidersW(dwindex: u32, pdwreserved: *mut u32, dwflags: u32, pdwprovtype: *mut u32, szprovname: super::super::Foundation::PWSTR, pcbprovname: *mut u32) -> super::super::Foundation::BOOL419     pub fn CryptEnumProvidersW(dwindex: u32, pdwreserved: *mut u32, dwflags: u32, pdwprovtype: *mut u32, szprovname: super::super::Foundation::PWSTR, pcbprovname: *mut u32) -> super::super::Foundation::BOOL;
420     #[cfg(feature = "Win32_Foundation")]
CryptExportKey(hkey: usize, hexpkey: usize, dwblobtype: u32, dwflags: CRYPT_KEY_FLAGS, pbdata: *mut u8, pdwdatalen: *mut u32) -> super::super::Foundation::BOOL421     pub fn CryptExportKey(hkey: usize, hexpkey: usize, dwblobtype: u32, dwflags: CRYPT_KEY_FLAGS, pbdata: *mut u8, pdwdatalen: *mut u32) -> super::super::Foundation::BOOL;
422     #[cfg(feature = "Win32_Foundation")]
CryptExportPKCS8(hcryptprov: usize, dwkeyspec: u32, pszprivatekeyobjid: super::super::Foundation::PSTR, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void, pbprivatekeyblob: *mut u8, pcbprivatekeyblob: *mut u32) -> super::super::Foundation::BOOL423     pub fn CryptExportPKCS8(hcryptprov: usize, dwkeyspec: u32, pszprivatekeyobjid: super::super::Foundation::PSTR, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void, pbprivatekeyblob: *mut u8, pcbprivatekeyblob: *mut u32) -> super::super::Foundation::BOOL;
424     #[cfg(feature = "Win32_Foundation")]
CryptExportPublicKeyInfo(hcryptprovorncryptkey: usize, dwkeyspec: u32, dwcertencodingtype: u32, pinfo: *mut CERT_PUBLIC_KEY_INFO, pcbinfo: *mut u32) -> super::super::Foundation::BOOL425     pub fn CryptExportPublicKeyInfo(hcryptprovorncryptkey: usize, dwkeyspec: u32, dwcertencodingtype: u32, pinfo: *mut CERT_PUBLIC_KEY_INFO, pcbinfo: *mut u32) -> super::super::Foundation::BOOL;
426     #[cfg(feature = "Win32_Foundation")]
CryptExportPublicKeyInfoEx(hcryptprovorncryptkey: usize, dwkeyspec: u32, dwcertencodingtype: u32, pszpublickeyobjid: super::super::Foundation::PSTR, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void, pinfo: *mut CERT_PUBLIC_KEY_INFO, pcbinfo: *mut u32) -> super::super::Foundation::BOOL427     pub fn CryptExportPublicKeyInfoEx(hcryptprovorncryptkey: usize, dwkeyspec: u32, dwcertencodingtype: u32, pszpublickeyobjid: super::super::Foundation::PSTR, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void, pinfo: *mut CERT_PUBLIC_KEY_INFO, pcbinfo: *mut u32) -> super::super::Foundation::BOOL;
428     #[cfg(feature = "Win32_Foundation")]
CryptExportPublicKeyInfoFromBCryptKeyHandle(hbcryptkey: BCRYPT_KEY_HANDLE, dwcertencodingtype: u32, pszpublickeyobjid: super::super::Foundation::PSTR, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void, pinfo: *mut CERT_PUBLIC_KEY_INFO, pcbinfo: *mut u32) -> super::super::Foundation::BOOL429     pub fn CryptExportPublicKeyInfoFromBCryptKeyHandle(hbcryptkey: BCRYPT_KEY_HANDLE, dwcertencodingtype: u32, pszpublickeyobjid: super::super::Foundation::PSTR, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void, pinfo: *mut CERT_PUBLIC_KEY_INFO, pcbinfo: *mut u32) -> super::super::Foundation::BOOL;
430     #[cfg(feature = "Win32_Foundation")]
CryptFindCertificateKeyProvInfo(pcert: *const CERT_CONTEXT, dwflags: CRYPT_FIND_FLAGS, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL431     pub fn CryptFindCertificateKeyProvInfo(pcert: *const CERT_CONTEXT, dwflags: CRYPT_FIND_FLAGS, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
432     #[cfg(feature = "Win32_Foundation")]
CryptFindLocalizedName(pwszcryptname: super::super::Foundation::PWSTR) -> super::super::Foundation::PWSTR433     pub fn CryptFindLocalizedName(pwszcryptname: super::super::Foundation::PWSTR) -> super::super::Foundation::PWSTR;
434     #[cfg(feature = "Win32_Foundation")]
CryptFindOIDInfo(dwkeytype: u32, pvkey: *const ::core::ffi::c_void, dwgroupid: u32) -> *mut CRYPT_OID_INFO435     pub fn CryptFindOIDInfo(dwkeytype: u32, pvkey: *const ::core::ffi::c_void, dwgroupid: u32) -> *mut CRYPT_OID_INFO;
436     #[cfg(feature = "Win32_Foundation")]
CryptFormatObject(dwcertencodingtype: u32, dwformattype: u32, dwformatstrtype: u32, pformatstruct: *const ::core::ffi::c_void, lpszstructtype: super::super::Foundation::PSTR, pbencoded: *const u8, cbencoded: u32, pbformat: *mut ::core::ffi::c_void, pcbformat: *mut u32) -> super::super::Foundation::BOOL437     pub fn CryptFormatObject(dwcertencodingtype: u32, dwformattype: u32, dwformatstrtype: u32, pformatstruct: *const ::core::ffi::c_void, lpszstructtype: super::super::Foundation::PSTR, pbencoded: *const u8, cbencoded: u32, pbformat: *mut ::core::ffi::c_void, pcbformat: *mut u32) -> super::super::Foundation::BOOL;
438     #[cfg(feature = "Win32_Foundation")]
CryptFreeOIDFunctionAddress(hfuncaddr: *const ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL439     pub fn CryptFreeOIDFunctionAddress(hfuncaddr: *const ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL;
440     #[cfg(feature = "Win32_Foundation")]
CryptGenKey(hprov: usize, algid: u32, dwflags: CRYPT_KEY_FLAGS, phkey: *mut usize) -> super::super::Foundation::BOOL441     pub fn CryptGenKey(hprov: usize, algid: u32, dwflags: CRYPT_KEY_FLAGS, phkey: *mut usize) -> super::super::Foundation::BOOL;
442     #[cfg(feature = "Win32_Foundation")]
CryptGenRandom(hprov: usize, dwlen: u32, pbbuffer: *mut u8) -> super::super::Foundation::BOOL443     pub fn CryptGenRandom(hprov: usize, dwlen: u32, pbbuffer: *mut u8) -> super::super::Foundation::BOOL;
444     #[cfg(feature = "Win32_Foundation")]
CryptGetAsyncParam(hasync: HCRYPTASYNC, pszparamoid: super::super::Foundation::PSTR, ppvparam: *mut *mut ::core::ffi::c_void, ppfnfree: *mut ::core::option::Option<PFN_CRYPT_ASYNC_PARAM_FREE_FUNC>) -> super::super::Foundation::BOOL445     pub fn CryptGetAsyncParam(hasync: HCRYPTASYNC, pszparamoid: super::super::Foundation::PSTR, ppvparam: *mut *mut ::core::ffi::c_void, ppfnfree: *mut ::core::option::Option<PFN_CRYPT_ASYNC_PARAM_FREE_FUNC>) -> super::super::Foundation::BOOL;
446     #[cfg(feature = "Win32_Foundation")]
CryptGetDefaultOIDDllList(hfuncset: *const ::core::ffi::c_void, dwencodingtype: u32, pwszdlllist: super::super::Foundation::PWSTR, pcchdlllist: *mut u32) -> super::super::Foundation::BOOL447     pub fn CryptGetDefaultOIDDllList(hfuncset: *const ::core::ffi::c_void, dwencodingtype: u32, pwszdlllist: super::super::Foundation::PWSTR, pcchdlllist: *mut u32) -> super::super::Foundation::BOOL;
448     #[cfg(feature = "Win32_Foundation")]
CryptGetDefaultOIDFunctionAddress(hfuncset: *const ::core::ffi::c_void, dwencodingtype: u32, pwszdll: super::super::Foundation::PWSTR, dwflags: u32, ppvfuncaddr: *mut *mut ::core::ffi::c_void, phfuncaddr: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL449     pub fn CryptGetDefaultOIDFunctionAddress(hfuncset: *const ::core::ffi::c_void, dwencodingtype: u32, pwszdll: super::super::Foundation::PWSTR, dwflags: u32, ppvfuncaddr: *mut *mut ::core::ffi::c_void, phfuncaddr: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
450     #[cfg(feature = "Win32_Foundation")]
CryptGetDefaultProviderA(dwprovtype: u32, pdwreserved: *mut u32, dwflags: u32, pszprovname: super::super::Foundation::PSTR, pcbprovname: *mut u32) -> super::super::Foundation::BOOL451     pub fn CryptGetDefaultProviderA(dwprovtype: u32, pdwreserved: *mut u32, dwflags: u32, pszprovname: super::super::Foundation::PSTR, pcbprovname: *mut u32) -> super::super::Foundation::BOOL;
452     #[cfg(feature = "Win32_Foundation")]
CryptGetDefaultProviderW(dwprovtype: u32, pdwreserved: *mut u32, dwflags: u32, pszprovname: super::super::Foundation::PWSTR, pcbprovname: *mut u32) -> super::super::Foundation::BOOL453     pub fn CryptGetDefaultProviderW(dwprovtype: u32, pdwreserved: *mut u32, dwflags: u32, pszprovname: super::super::Foundation::PWSTR, pcbprovname: *mut u32) -> super::super::Foundation::BOOL;
454     #[cfg(feature = "Win32_Foundation")]
CryptGetHashParam(hhash: usize, dwparam: u32, pbdata: *mut u8, pdwdatalen: *mut u32, dwflags: u32) -> super::super::Foundation::BOOL455     pub fn CryptGetHashParam(hhash: usize, dwparam: u32, pbdata: *mut u8, pdwdatalen: *mut u32, dwflags: u32) -> super::super::Foundation::BOOL;
456     #[cfg(feature = "Win32_Foundation")]
CryptGetKeyIdentifierProperty(pkeyidentifier: *const CRYPTOAPI_BLOB, dwpropid: u32, dwflags: u32, pwszcomputername: super::super::Foundation::PWSTR, pvreserved: *mut ::core::ffi::c_void, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL457     pub fn CryptGetKeyIdentifierProperty(pkeyidentifier: *const CRYPTOAPI_BLOB, dwpropid: u32, dwflags: u32, pwszcomputername: super::super::Foundation::PWSTR, pvreserved: *mut ::core::ffi::c_void, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL;
458     #[cfg(feature = "Win32_Foundation")]
CryptGetKeyParam(hkey: usize, dwparam: CRYPT_KEY_PARAM_ID, pbdata: *mut u8, pdwdatalen: *mut u32, dwflags: u32) -> super::super::Foundation::BOOL459     pub fn CryptGetKeyParam(hkey: usize, dwparam: CRYPT_KEY_PARAM_ID, pbdata: *mut u8, pdwdatalen: *mut u32, dwflags: u32) -> super::super::Foundation::BOOL;
CryptGetMessageCertificates(dwmsgandcertencodingtype: u32, hcryptprov: usize, dwflags: u32, pbsignedblob: *const u8, cbsignedblob: u32) -> *mut ::core::ffi::c_void460     pub fn CryptGetMessageCertificates(dwmsgandcertencodingtype: u32, hcryptprov: usize, dwflags: u32, pbsignedblob: *const u8, cbsignedblob: u32) -> *mut ::core::ffi::c_void;
CryptGetMessageSignerCount(dwmsgencodingtype: u32, pbsignedblob: *const u8, cbsignedblob: u32) -> i32461     pub fn CryptGetMessageSignerCount(dwmsgencodingtype: u32, pbsignedblob: *const u8, cbsignedblob: u32) -> i32;
462     #[cfg(feature = "Win32_Foundation")]
CryptGetOIDFunctionAddress(hfuncset: *const ::core::ffi::c_void, dwencodingtype: u32, pszoid: super::super::Foundation::PSTR, dwflags: u32, ppvfuncaddr: *mut *mut ::core::ffi::c_void, phfuncaddr: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL463     pub fn CryptGetOIDFunctionAddress(hfuncset: *const ::core::ffi::c_void, dwencodingtype: u32, pszoid: super::super::Foundation::PSTR, dwflags: u32, ppvfuncaddr: *mut *mut ::core::ffi::c_void, phfuncaddr: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
464     #[cfg(feature = "Win32_Foundation")]
CryptGetOIDFunctionValue(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pszoid: super::super::Foundation::PSTR, pwszvaluename: super::super::Foundation::PWSTR, pdwvaluetype: *mut u32, pbvaluedata: *mut u8, pcbvaluedata: *mut u32) -> super::super::Foundation::BOOL465     pub fn CryptGetOIDFunctionValue(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pszoid: super::super::Foundation::PSTR, pwszvaluename: super::super::Foundation::PWSTR, pdwvaluetype: *mut u32, pbvaluedata: *mut u8, pcbvaluedata: *mut u32) -> super::super::Foundation::BOOL;
466     #[cfg(feature = "Win32_Foundation")]
CryptGetObjectUrl(pszurloid: super::super::Foundation::PSTR, pvpara: *const ::core::ffi::c_void, dwflags: CRYPT_GET_URL_FLAGS, purlarray: *mut CRYPT_URL_ARRAY, pcburlarray: *mut u32, purlinfo: *mut CRYPT_URL_INFO, pcburlinfo: *mut u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL467     pub fn CryptGetObjectUrl(pszurloid: super::super::Foundation::PSTR, pvpara: *const ::core::ffi::c_void, dwflags: CRYPT_GET_URL_FLAGS, purlarray: *mut CRYPT_URL_ARRAY, pcburlarray: *mut u32, purlinfo: *mut CRYPT_URL_INFO, pcburlinfo: *mut u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
468     #[cfg(feature = "Win32_Foundation")]
CryptGetProvParam(hprov: usize, dwparam: u32, pbdata: *mut u8, pdwdatalen: *mut u32, dwflags: u32) -> super::super::Foundation::BOOL469     pub fn CryptGetProvParam(hprov: usize, dwparam: u32, pbdata: *mut u8, pdwdatalen: *mut u32, dwflags: u32) -> super::super::Foundation::BOOL;
470     #[cfg(feature = "Win32_Foundation")]
CryptGetUserKey(hprov: usize, dwkeyspec: u32, phuserkey: *mut usize) -> super::super::Foundation::BOOL471     pub fn CryptGetUserKey(hprov: usize, dwkeyspec: u32, phuserkey: *mut usize) -> super::super::Foundation::BOOL;
472     #[cfg(feature = "Win32_Foundation")]
CryptHashCertificate(hcryptprov: usize, algid: u32, dwflags: u32, pbencoded: *const u8, cbencoded: u32, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL473     pub fn CryptHashCertificate(hcryptprov: usize, algid: u32, dwflags: u32, pbencoded: *const u8, cbencoded: u32, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL;
474     #[cfg(feature = "Win32_Foundation")]
CryptHashCertificate2(pwszcnghashalgid: super::super::Foundation::PWSTR, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, pbencoded: *const u8, cbencoded: u32, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL475     pub fn CryptHashCertificate2(pwszcnghashalgid: super::super::Foundation::PWSTR, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, pbencoded: *const u8, cbencoded: u32, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL;
476     #[cfg(feature = "Win32_Foundation")]
CryptHashData(hhash: usize, pbdata: *const u8, dwdatalen: u32, dwflags: u32) -> super::super::Foundation::BOOL477     pub fn CryptHashData(hhash: usize, pbdata: *const u8, dwdatalen: u32, dwflags: u32) -> super::super::Foundation::BOOL;
478     #[cfg(feature = "Win32_Foundation")]
CryptHashMessage(phashpara: *const CRYPT_HASH_MESSAGE_PARA, fdetachedhash: super::super::Foundation::BOOL, ctobehashed: u32, rgpbtobehashed: *const *const u8, rgcbtobehashed: *const u32, pbhashedblob: *mut u8, pcbhashedblob: *mut u32, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL479     pub fn CryptHashMessage(phashpara: *const CRYPT_HASH_MESSAGE_PARA, fdetachedhash: super::super::Foundation::BOOL, ctobehashed: u32, rgpbtobehashed: *const *const u8, rgcbtobehashed: *const u32, pbhashedblob: *mut u8, pcbhashedblob: *mut u32, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL;
480     #[cfg(feature = "Win32_Foundation")]
CryptHashPublicKeyInfo(hcryptprov: usize, algid: u32, dwflags: u32, dwcertencodingtype: u32, pinfo: *const CERT_PUBLIC_KEY_INFO, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL481     pub fn CryptHashPublicKeyInfo(hcryptprov: usize, algid: u32, dwflags: u32, dwcertencodingtype: u32, pinfo: *const CERT_PUBLIC_KEY_INFO, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL;
482     #[cfg(feature = "Win32_Foundation")]
CryptHashSessionKey(hhash: usize, hkey: usize, dwflags: u32) -> super::super::Foundation::BOOL483     pub fn CryptHashSessionKey(hhash: usize, hkey: usize, dwflags: u32) -> super::super::Foundation::BOOL;
484     #[cfg(feature = "Win32_Foundation")]
CryptHashToBeSigned(hcryptprov: usize, dwcertencodingtype: u32, pbencoded: *const u8, cbencoded: u32, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL485     pub fn CryptHashToBeSigned(hcryptprov: usize, dwcertencodingtype: u32, pbencoded: *const u8, cbencoded: u32, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL;
486     #[cfg(feature = "Win32_Foundation")]
CryptImportKey(hprov: usize, pbdata: *const u8, dwdatalen: u32, hpubkey: usize, dwflags: CRYPT_KEY_FLAGS, phkey: *mut usize) -> super::super::Foundation::BOOL487     pub fn CryptImportKey(hprov: usize, pbdata: *const u8, dwdatalen: u32, hpubkey: usize, dwflags: CRYPT_KEY_FLAGS, phkey: *mut usize) -> super::super::Foundation::BOOL;
488     #[cfg(feature = "Win32_Foundation")]
CryptImportPKCS8(sprivatekeyandparams: CRYPT_PKCS8_IMPORT_PARAMS, dwflags: CRYPT_KEY_FLAGS, phcryptprov: *mut usize, pvauxinfo: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL489     pub fn CryptImportPKCS8(sprivatekeyandparams: CRYPT_PKCS8_IMPORT_PARAMS, dwflags: CRYPT_KEY_FLAGS, phcryptprov: *mut usize, pvauxinfo: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
490     #[cfg(feature = "Win32_Foundation")]
CryptImportPublicKeyInfo(hcryptprov: usize, dwcertencodingtype: u32, pinfo: *const CERT_PUBLIC_KEY_INFO, phkey: *mut usize) -> super::super::Foundation::BOOL491     pub fn CryptImportPublicKeyInfo(hcryptprov: usize, dwcertencodingtype: u32, pinfo: *const CERT_PUBLIC_KEY_INFO, phkey: *mut usize) -> super::super::Foundation::BOOL;
492     #[cfg(feature = "Win32_Foundation")]
CryptImportPublicKeyInfoEx(hcryptprov: usize, dwcertencodingtype: u32, pinfo: *const CERT_PUBLIC_KEY_INFO, aikeyalg: u32, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void, phkey: *mut usize) -> super::super::Foundation::BOOL493     pub fn CryptImportPublicKeyInfoEx(hcryptprov: usize, dwcertencodingtype: u32, pinfo: *const CERT_PUBLIC_KEY_INFO, aikeyalg: u32, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void, phkey: *mut usize) -> super::super::Foundation::BOOL;
494     #[cfg(feature = "Win32_Foundation")]
CryptImportPublicKeyInfoEx2(dwcertencodingtype: u32, pinfo: *const CERT_PUBLIC_KEY_INFO, dwflags: CRYPT_IMPORT_PUBLIC_KEY_FLAGS, pvauxinfo: *const ::core::ffi::c_void, phkey: *mut BCRYPT_KEY_HANDLE) -> super::super::Foundation::BOOL495     pub fn CryptImportPublicKeyInfoEx2(dwcertencodingtype: u32, pinfo: *const CERT_PUBLIC_KEY_INFO, dwflags: CRYPT_IMPORT_PUBLIC_KEY_FLAGS, pvauxinfo: *const ::core::ffi::c_void, phkey: *mut BCRYPT_KEY_HANDLE) -> super::super::Foundation::BOOL;
496     #[cfg(feature = "Win32_Foundation")]
CryptInitOIDFunctionSet(pszfuncname: super::super::Foundation::PSTR, dwflags: u32) -> *mut ::core::ffi::c_void497     pub fn CryptInitOIDFunctionSet(pszfuncname: super::super::Foundation::PSTR, dwflags: u32) -> *mut ::core::ffi::c_void;
498     #[cfg(feature = "Win32_Foundation")]
CryptInstallCancelRetrieval(pfncancel: ::core::option::Option<PFN_CRYPT_CANCEL_RETRIEVAL>, pvarg: *const ::core::ffi::c_void, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL499     pub fn CryptInstallCancelRetrieval(pfncancel: ::core::option::Option<PFN_CRYPT_CANCEL_RETRIEVAL>, pvarg: *const ::core::ffi::c_void, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
500     #[cfg(feature = "Win32_Foundation")]
CryptInstallDefaultContext(hcryptprov: usize, dwdefaulttype: CRYPT_DEFAULT_CONTEXT_TYPE, pvdefaultpara: *const ::core::ffi::c_void, dwflags: CRYPT_DEFAULT_CONTEXT_FLAGS, pvreserved: *mut ::core::ffi::c_void, phdefaultcontext: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL501     pub fn CryptInstallDefaultContext(hcryptprov: usize, dwdefaulttype: CRYPT_DEFAULT_CONTEXT_TYPE, pvdefaultpara: *const ::core::ffi::c_void, dwflags: CRYPT_DEFAULT_CONTEXT_FLAGS, pvreserved: *mut ::core::ffi::c_void, phdefaultcontext: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
502     #[cfg(feature = "Win32_Foundation")]
CryptInstallOIDFunctionAddress(hmodule: super::super::Foundation::HINSTANCE, dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, cfuncentry: u32, rgfuncentry: *const CRYPT_OID_FUNC_ENTRY, dwflags: u32) -> super::super::Foundation::BOOL503     pub fn CryptInstallOIDFunctionAddress(hmodule: super::super::Foundation::HINSTANCE, dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, cfuncentry: u32, rgfuncentry: *const CRYPT_OID_FUNC_ENTRY, dwflags: u32) -> super::super::Foundation::BOOL;
CryptMemAlloc(cbsize: u32) -> *mut ::core::ffi::c_void504     pub fn CryptMemAlloc(cbsize: u32) -> *mut ::core::ffi::c_void;
CryptMemFree(pv: *const ::core::ffi::c_void)505     pub fn CryptMemFree(pv: *const ::core::ffi::c_void);
CryptMemRealloc(pv: *const ::core::ffi::c_void, cbsize: u32) -> *mut ::core::ffi::c_void506     pub fn CryptMemRealloc(pv: *const ::core::ffi::c_void, cbsize: u32) -> *mut ::core::ffi::c_void;
507     #[cfg(feature = "Win32_Foundation")]
CryptMsgCalculateEncodedLength(dwmsgencodingtype: u32, dwflags: u32, dwmsgtype: u32, pvmsgencodeinfo: *const ::core::ffi::c_void, pszinnercontentobjid: super::super::Foundation::PSTR, cbdata: u32) -> u32508     pub fn CryptMsgCalculateEncodedLength(dwmsgencodingtype: u32, dwflags: u32, dwmsgtype: u32, pvmsgencodeinfo: *const ::core::ffi::c_void, pszinnercontentobjid: super::super::Foundation::PSTR, cbdata: u32) -> u32;
509     #[cfg(feature = "Win32_Foundation")]
CryptMsgClose(hcryptmsg: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL510     pub fn CryptMsgClose(hcryptmsg: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
511     #[cfg(feature = "Win32_Foundation")]
CryptMsgControl(hcryptmsg: *const ::core::ffi::c_void, dwflags: u32, dwctrltype: u32, pvctrlpara: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL512     pub fn CryptMsgControl(hcryptmsg: *const ::core::ffi::c_void, dwflags: u32, dwctrltype: u32, pvctrlpara: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
513     #[cfg(feature = "Win32_Foundation")]
CryptMsgCountersign(hcryptmsg: *const ::core::ffi::c_void, dwindex: u32, ccountersigners: u32, rgcountersigners: *const CMSG_SIGNER_ENCODE_INFO) -> super::super::Foundation::BOOL514     pub fn CryptMsgCountersign(hcryptmsg: *const ::core::ffi::c_void, dwindex: u32, ccountersigners: u32, rgcountersigners: *const CMSG_SIGNER_ENCODE_INFO) -> super::super::Foundation::BOOL;
515     #[cfg(feature = "Win32_Foundation")]
CryptMsgCountersignEncoded(dwencodingtype: u32, pbsignerinfo: *const u8, cbsignerinfo: u32, ccountersigners: u32, rgcountersigners: *const CMSG_SIGNER_ENCODE_INFO, pbcountersignature: *mut u8, pcbcountersignature: *mut u32) -> super::super::Foundation::BOOL516     pub fn CryptMsgCountersignEncoded(dwencodingtype: u32, pbsignerinfo: *const u8, cbsignerinfo: u32, ccountersigners: u32, rgcountersigners: *const CMSG_SIGNER_ENCODE_INFO, pbcountersignature: *mut u8, pcbcountersignature: *mut u32) -> super::super::Foundation::BOOL;
CryptMsgDuplicate(hcryptmsg: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void517     pub fn CryptMsgDuplicate(hcryptmsg: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void;
518     #[cfg(feature = "Win32_Foundation")]
CryptMsgEncodeAndSignCTL(dwmsgencodingtype: u32, pctlinfo: *const CTL_INFO, psigninfo: *const CMSG_SIGNED_ENCODE_INFO, dwflags: u32, pbencoded: *mut u8, pcbencoded: *mut u32) -> super::super::Foundation::BOOL519     pub fn CryptMsgEncodeAndSignCTL(dwmsgencodingtype: u32, pctlinfo: *const CTL_INFO, psigninfo: *const CMSG_SIGNED_ENCODE_INFO, dwflags: u32, pbencoded: *mut u8, pcbencoded: *mut u32) -> super::super::Foundation::BOOL;
520     #[cfg(feature = "Win32_Foundation")]
CryptMsgGetAndVerifySigner(hcryptmsg: *const ::core::ffi::c_void, csignerstore: u32, rghsignerstore: *const *const ::core::ffi::c_void, dwflags: u32, ppsigner: *mut *mut CERT_CONTEXT, pdwsignerindex: *mut u32) -> super::super::Foundation::BOOL521     pub fn CryptMsgGetAndVerifySigner(hcryptmsg: *const ::core::ffi::c_void, csignerstore: u32, rghsignerstore: *const *const ::core::ffi::c_void, dwflags: u32, ppsigner: *mut *mut CERT_CONTEXT, pdwsignerindex: *mut u32) -> super::super::Foundation::BOOL;
522     #[cfg(feature = "Win32_Foundation")]
CryptMsgGetParam(hcryptmsg: *const ::core::ffi::c_void, dwparamtype: u32, dwindex: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL523     pub fn CryptMsgGetParam(hcryptmsg: *const ::core::ffi::c_void, dwparamtype: u32, dwindex: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL;
524     #[cfg(feature = "Win32_Foundation")]
CryptMsgOpenToDecode(dwmsgencodingtype: u32, dwflags: u32, dwmsgtype: u32, hcryptprov: usize, precipientinfo: *mut CERT_INFO, pstreaminfo: *const CMSG_STREAM_INFO) -> *mut ::core::ffi::c_void525     pub fn CryptMsgOpenToDecode(dwmsgencodingtype: u32, dwflags: u32, dwmsgtype: u32, hcryptprov: usize, precipientinfo: *mut CERT_INFO, pstreaminfo: *const CMSG_STREAM_INFO) -> *mut ::core::ffi::c_void;
526     #[cfg(feature = "Win32_Foundation")]
CryptMsgOpenToEncode(dwmsgencodingtype: u32, dwflags: u32, dwmsgtype: CRYPT_MSG_TYPE, pvmsgencodeinfo: *const ::core::ffi::c_void, pszinnercontentobjid: super::super::Foundation::PSTR, pstreaminfo: *const CMSG_STREAM_INFO) -> *mut ::core::ffi::c_void527     pub fn CryptMsgOpenToEncode(dwmsgencodingtype: u32, dwflags: u32, dwmsgtype: CRYPT_MSG_TYPE, pvmsgencodeinfo: *const ::core::ffi::c_void, pszinnercontentobjid: super::super::Foundation::PSTR, pstreaminfo: *const CMSG_STREAM_INFO) -> *mut ::core::ffi::c_void;
528     #[cfg(feature = "Win32_Foundation")]
CryptMsgSignCTL(dwmsgencodingtype: u32, pbctlcontent: *const u8, cbctlcontent: u32, psigninfo: *const CMSG_SIGNED_ENCODE_INFO, dwflags: u32, pbencoded: *mut u8, pcbencoded: *mut u32) -> super::super::Foundation::BOOL529     pub fn CryptMsgSignCTL(dwmsgencodingtype: u32, pbctlcontent: *const u8, cbctlcontent: u32, psigninfo: *const CMSG_SIGNED_ENCODE_INFO, dwflags: u32, pbencoded: *mut u8, pcbencoded: *mut u32) -> super::super::Foundation::BOOL;
530     #[cfg(feature = "Win32_Foundation")]
CryptMsgUpdate(hcryptmsg: *const ::core::ffi::c_void, pbdata: *const u8, cbdata: u32, ffinal: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL531     pub fn CryptMsgUpdate(hcryptmsg: *const ::core::ffi::c_void, pbdata: *const u8, cbdata: u32, ffinal: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
532     #[cfg(feature = "Win32_Foundation")]
CryptMsgVerifyCountersignatureEncoded(hcryptprov: usize, dwencodingtype: u32, pbsignerinfo: *const u8, cbsignerinfo: u32, pbsignerinfocountersignature: *const u8, cbsignerinfocountersignature: u32, pcicountersigner: *const CERT_INFO) -> super::super::Foundation::BOOL533     pub fn CryptMsgVerifyCountersignatureEncoded(hcryptprov: usize, dwencodingtype: u32, pbsignerinfo: *const u8, cbsignerinfo: u32, pbsignerinfocountersignature: *const u8, cbsignerinfocountersignature: u32, pcicountersigner: *const CERT_INFO) -> super::super::Foundation::BOOL;
534     #[cfg(feature = "Win32_Foundation")]
CryptMsgVerifyCountersignatureEncodedEx(hcryptprov: usize, dwencodingtype: u32, pbsignerinfo: *const u8, cbsignerinfo: u32, pbsignerinfocountersignature: *const u8, cbsignerinfocountersignature: u32, dwsignertype: u32, pvsigner: *const ::core::ffi::c_void, dwflags: u32, pvextra: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL535     pub fn CryptMsgVerifyCountersignatureEncodedEx(hcryptprov: usize, dwencodingtype: u32, pbsignerinfo: *const u8, cbsignerinfo: u32, pbsignerinfocountersignature: *const u8, cbsignerinfocountersignature: u32, dwsignertype: u32, pvsigner: *const ::core::ffi::c_void, dwflags: u32, pvextra: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
536     #[cfg(feature = "Win32_Foundation")]
CryptProtectData(pdatain: *const CRYPTOAPI_BLOB, szdatadescr: super::super::Foundation::PWSTR, poptionalentropy: *const CRYPTOAPI_BLOB, pvreserved: *mut ::core::ffi::c_void, ppromptstruct: *const CRYPTPROTECT_PROMPTSTRUCT, dwflags: u32, pdataout: *mut CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL537     pub fn CryptProtectData(pdatain: *const CRYPTOAPI_BLOB, szdatadescr: super::super::Foundation::PWSTR, poptionalentropy: *const CRYPTOAPI_BLOB, pvreserved: *mut ::core::ffi::c_void, ppromptstruct: *const CRYPTPROTECT_PROMPTSTRUCT, dwflags: u32, pdataout: *mut CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL;
538     #[cfg(feature = "Win32_Foundation")]
CryptProtectMemory(pdatain: *mut ::core::ffi::c_void, cbdatain: u32, dwflags: u32) -> super::super::Foundation::BOOL539     pub fn CryptProtectMemory(pdatain: *mut ::core::ffi::c_void, cbdatain: u32, dwflags: u32) -> super::super::Foundation::BOOL;
540     #[cfg(feature = "Win32_Foundation")]
CryptQueryObject( dwobjecttype: CERT_QUERY_OBJECT_TYPE, pvobject: *const ::core::ffi::c_void, dwexpectedcontenttypeflags: CERT_QUERY_CONTENT_TYPE_FLAGS, dwexpectedformattypeflags: CERT_QUERY_FORMAT_TYPE_FLAGS, dwflags: u32, pdwmsgandcertencodingtype: *mut CERT_QUERY_ENCODING_TYPE, pdwcontenttype: *mut CERT_QUERY_CONTENT_TYPE, pdwformattype: *mut CERT_QUERY_FORMAT_TYPE, phcertstore: *mut *mut ::core::ffi::c_void, phmsg: *mut *mut ::core::ffi::c_void, ppvcontext: *mut *mut ::core::ffi::c_void, ) -> super::super::Foundation::BOOL541     pub fn CryptQueryObject(
542         dwobjecttype: CERT_QUERY_OBJECT_TYPE,
543         pvobject: *const ::core::ffi::c_void,
544         dwexpectedcontenttypeflags: CERT_QUERY_CONTENT_TYPE_FLAGS,
545         dwexpectedformattypeflags: CERT_QUERY_FORMAT_TYPE_FLAGS,
546         dwflags: u32,
547         pdwmsgandcertencodingtype: *mut CERT_QUERY_ENCODING_TYPE,
548         pdwcontenttype: *mut CERT_QUERY_CONTENT_TYPE,
549         pdwformattype: *mut CERT_QUERY_FORMAT_TYPE,
550         phcertstore: *mut *mut ::core::ffi::c_void,
551         phmsg: *mut *mut ::core::ffi::c_void,
552         ppvcontext: *mut *mut ::core::ffi::c_void,
553     ) -> super::super::Foundation::BOOL;
554     #[cfg(feature = "Win32_Foundation")]
CryptRegisterDefaultOIDFunction(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, dwindex: u32, pwszdll: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL555     pub fn CryptRegisterDefaultOIDFunction(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, dwindex: u32, pwszdll: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL;
556     #[cfg(feature = "Win32_Foundation")]
CryptRegisterOIDFunction(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pszoid: super::super::Foundation::PSTR, pwszdll: super::super::Foundation::PWSTR, pszoverridefuncname: super::super::Foundation::PSTR) -> super::super::Foundation::BOOL557     pub fn CryptRegisterOIDFunction(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pszoid: super::super::Foundation::PSTR, pwszdll: super::super::Foundation::PWSTR, pszoverridefuncname: super::super::Foundation::PSTR) -> super::super::Foundation::BOOL;
558     #[cfg(feature = "Win32_Foundation")]
CryptRegisterOIDInfo(pinfo: *const CRYPT_OID_INFO, dwflags: u32) -> super::super::Foundation::BOOL559     pub fn CryptRegisterOIDInfo(pinfo: *const CRYPT_OID_INFO, dwflags: u32) -> super::super::Foundation::BOOL;
560     #[cfg(feature = "Win32_Foundation")]
CryptReleaseContext(hprov: usize, dwflags: u32) -> super::super::Foundation::BOOL561     pub fn CryptReleaseContext(hprov: usize, dwflags: u32) -> super::super::Foundation::BOOL;
562     #[cfg(feature = "Win32_Foundation")]
CryptRetrieveObjectByUrlA(pszurl: super::super::Foundation::PSTR, pszobjectoid: super::super::Foundation::PSTR, dwretrievalflags: u32, dwtimeout: u32, ppvobject: *mut *mut ::core::ffi::c_void, hasyncretrieve: HCRYPTASYNC, pcredentials: *const CRYPT_CREDENTIALS, pvverify: *const ::core::ffi::c_void, pauxinfo: *mut CRYPT_RETRIEVE_AUX_INFO) -> super::super::Foundation::BOOL563     pub fn CryptRetrieveObjectByUrlA(pszurl: super::super::Foundation::PSTR, pszobjectoid: super::super::Foundation::PSTR, dwretrievalflags: u32, dwtimeout: u32, ppvobject: *mut *mut ::core::ffi::c_void, hasyncretrieve: HCRYPTASYNC, pcredentials: *const CRYPT_CREDENTIALS, pvverify: *const ::core::ffi::c_void, pauxinfo: *mut CRYPT_RETRIEVE_AUX_INFO) -> super::super::Foundation::BOOL;
564     #[cfg(feature = "Win32_Foundation")]
CryptRetrieveObjectByUrlW(pszurl: super::super::Foundation::PWSTR, pszobjectoid: super::super::Foundation::PSTR, dwretrievalflags: u32, dwtimeout: u32, ppvobject: *mut *mut ::core::ffi::c_void, hasyncretrieve: HCRYPTASYNC, pcredentials: *const CRYPT_CREDENTIALS, pvverify: *const ::core::ffi::c_void, pauxinfo: *mut CRYPT_RETRIEVE_AUX_INFO) -> super::super::Foundation::BOOL565     pub fn CryptRetrieveObjectByUrlW(pszurl: super::super::Foundation::PWSTR, pszobjectoid: super::super::Foundation::PSTR, dwretrievalflags: u32, dwtimeout: u32, ppvobject: *mut *mut ::core::ffi::c_void, hasyncretrieve: HCRYPTASYNC, pcredentials: *const CRYPT_CREDENTIALS, pvverify: *const ::core::ffi::c_void, pauxinfo: *mut CRYPT_RETRIEVE_AUX_INFO) -> super::super::Foundation::BOOL;
566     #[cfg(feature = "Win32_Foundation")]
CryptRetrieveTimeStamp(wszurl: super::super::Foundation::PWSTR, dwretrievalflags: u32, dwtimeout: u32, pszhashid: super::super::Foundation::PSTR, ppara: *const CRYPT_TIMESTAMP_PARA, pbdata: *const u8, cbdata: u32, pptscontext: *mut *mut CRYPT_TIMESTAMP_CONTEXT, pptssigner: *mut *mut CERT_CONTEXT, phstore: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL567     pub fn CryptRetrieveTimeStamp(wszurl: super::super::Foundation::PWSTR, dwretrievalflags: u32, dwtimeout: u32, pszhashid: super::super::Foundation::PSTR, ppara: *const CRYPT_TIMESTAMP_PARA, pbdata: *const u8, cbdata: u32, pptscontext: *mut *mut CRYPT_TIMESTAMP_CONTEXT, pptssigner: *mut *mut CERT_CONTEXT, phstore: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
568     #[cfg(feature = "Win32_Foundation")]
CryptSetAsyncParam(hasync: HCRYPTASYNC, pszparamoid: super::super::Foundation::PSTR, pvparam: *const ::core::ffi::c_void, pfnfree: ::core::option::Option<PFN_CRYPT_ASYNC_PARAM_FREE_FUNC>) -> super::super::Foundation::BOOL569     pub fn CryptSetAsyncParam(hasync: HCRYPTASYNC, pszparamoid: super::super::Foundation::PSTR, pvparam: *const ::core::ffi::c_void, pfnfree: ::core::option::Option<PFN_CRYPT_ASYNC_PARAM_FREE_FUNC>) -> super::super::Foundation::BOOL;
570     #[cfg(feature = "Win32_Foundation")]
CryptSetHashParam(hhash: usize, dwparam: CRYPT_SET_HASH_PARAM, pbdata: *const u8, dwflags: u32) -> super::super::Foundation::BOOL571     pub fn CryptSetHashParam(hhash: usize, dwparam: CRYPT_SET_HASH_PARAM, pbdata: *const u8, dwflags: u32) -> super::super::Foundation::BOOL;
572     #[cfg(feature = "Win32_Foundation")]
CryptSetKeyIdentifierProperty(pkeyidentifier: *const CRYPTOAPI_BLOB, dwpropid: u32, dwflags: u32, pwszcomputername: super::super::Foundation::PWSTR, pvreserved: *mut ::core::ffi::c_void, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL573     pub fn CryptSetKeyIdentifierProperty(pkeyidentifier: *const CRYPTOAPI_BLOB, dwpropid: u32, dwflags: u32, pwszcomputername: super::super::Foundation::PWSTR, pvreserved: *mut ::core::ffi::c_void, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
574     #[cfg(feature = "Win32_Foundation")]
CryptSetKeyParam(hkey: usize, dwparam: CRYPT_KEY_PARAM_ID, pbdata: *const u8, dwflags: u32) -> super::super::Foundation::BOOL575     pub fn CryptSetKeyParam(hkey: usize, dwparam: CRYPT_KEY_PARAM_ID, pbdata: *const u8, dwflags: u32) -> super::super::Foundation::BOOL;
576     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
CryptSetOIDFunctionValue(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pszoid: super::super::Foundation::PSTR, pwszvaluename: super::super::Foundation::PWSTR, dwvaluetype: super::super::System::Registry::REG_VALUE_TYPE, pbvaluedata: *const u8, cbvaluedata: u32) -> super::super::Foundation::BOOL577     pub fn CryptSetOIDFunctionValue(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pszoid: super::super::Foundation::PSTR, pwszvaluename: super::super::Foundation::PWSTR, dwvaluetype: super::super::System::Registry::REG_VALUE_TYPE, pbvaluedata: *const u8, cbvaluedata: u32) -> super::super::Foundation::BOOL;
578     #[cfg(feature = "Win32_Foundation")]
CryptSetProvParam(hprov: usize, dwparam: CRYPT_SET_PROV_PARAM_ID, pbdata: *const u8, dwflags: u32) -> super::super::Foundation::BOOL579     pub fn CryptSetProvParam(hprov: usize, dwparam: CRYPT_SET_PROV_PARAM_ID, pbdata: *const u8, dwflags: u32) -> super::super::Foundation::BOOL;
580     #[cfg(feature = "Win32_Foundation")]
CryptSetProviderA(pszprovname: super::super::Foundation::PSTR, dwprovtype: u32) -> super::super::Foundation::BOOL581     pub fn CryptSetProviderA(pszprovname: super::super::Foundation::PSTR, dwprovtype: u32) -> super::super::Foundation::BOOL;
582     #[cfg(feature = "Win32_Foundation")]
CryptSetProviderExA(pszprovname: super::super::Foundation::PSTR, dwprovtype: u32, pdwreserved: *mut u32, dwflags: u32) -> super::super::Foundation::BOOL583     pub fn CryptSetProviderExA(pszprovname: super::super::Foundation::PSTR, dwprovtype: u32, pdwreserved: *mut u32, dwflags: u32) -> super::super::Foundation::BOOL;
584     #[cfg(feature = "Win32_Foundation")]
CryptSetProviderExW(pszprovname: super::super::Foundation::PWSTR, dwprovtype: u32, pdwreserved: *mut u32, dwflags: u32) -> super::super::Foundation::BOOL585     pub fn CryptSetProviderExW(pszprovname: super::super::Foundation::PWSTR, dwprovtype: u32, pdwreserved: *mut u32, dwflags: u32) -> super::super::Foundation::BOOL;
586     #[cfg(feature = "Win32_Foundation")]
CryptSetProviderW(pszprovname: super::super::Foundation::PWSTR, dwprovtype: u32) -> super::super::Foundation::BOOL587     pub fn CryptSetProviderW(pszprovname: super::super::Foundation::PWSTR, dwprovtype: u32) -> super::super::Foundation::BOOL;
588     #[cfg(feature = "Win32_Foundation")]
CryptSignAndEncodeCertificate(hcryptprovorncryptkey: usize, dwkeyspec: CERT_KEY_SPEC, dwcertencodingtype: u32, lpszstructtype: super::super::Foundation::PSTR, pvstructinfo: *const ::core::ffi::c_void, psignaturealgorithm: *const CRYPT_ALGORITHM_IDENTIFIER, pvhashauxinfo: *const ::core::ffi::c_void, pbencoded: *mut u8, pcbencoded: *mut u32) -> super::super::Foundation::BOOL589     pub fn CryptSignAndEncodeCertificate(hcryptprovorncryptkey: usize, dwkeyspec: CERT_KEY_SPEC, dwcertencodingtype: u32, lpszstructtype: super::super::Foundation::PSTR, pvstructinfo: *const ::core::ffi::c_void, psignaturealgorithm: *const CRYPT_ALGORITHM_IDENTIFIER, pvhashauxinfo: *const ::core::ffi::c_void, pbencoded: *mut u8, pcbencoded: *mut u32) -> super::super::Foundation::BOOL;
590     #[cfg(feature = "Win32_Foundation")]
CryptSignAndEncryptMessage(psignpara: *const CRYPT_SIGN_MESSAGE_PARA, pencryptpara: *const CRYPT_ENCRYPT_MESSAGE_PARA, crecipientcert: u32, rgprecipientcert: *const *const CERT_CONTEXT, pbtobesignedandencrypted: *const u8, cbtobesignedandencrypted: u32, pbsignedandencryptedblob: *mut u8, pcbsignedandencryptedblob: *mut u32) -> super::super::Foundation::BOOL591     pub fn CryptSignAndEncryptMessage(psignpara: *const CRYPT_SIGN_MESSAGE_PARA, pencryptpara: *const CRYPT_ENCRYPT_MESSAGE_PARA, crecipientcert: u32, rgprecipientcert: *const *const CERT_CONTEXT, pbtobesignedandencrypted: *const u8, cbtobesignedandencrypted: u32, pbsignedandencryptedblob: *mut u8, pcbsignedandencryptedblob: *mut u32) -> super::super::Foundation::BOOL;
592     #[cfg(feature = "Win32_Foundation")]
CryptSignCertificate(hcryptprovorncryptkey: usize, dwkeyspec: u32, dwcertencodingtype: u32, pbencodedtobesigned: *const u8, cbencodedtobesigned: u32, psignaturealgorithm: *const CRYPT_ALGORITHM_IDENTIFIER, pvhashauxinfo: *const ::core::ffi::c_void, pbsignature: *mut u8, pcbsignature: *mut u32) -> super::super::Foundation::BOOL593     pub fn CryptSignCertificate(hcryptprovorncryptkey: usize, dwkeyspec: u32, dwcertencodingtype: u32, pbencodedtobesigned: *const u8, cbencodedtobesigned: u32, psignaturealgorithm: *const CRYPT_ALGORITHM_IDENTIFIER, pvhashauxinfo: *const ::core::ffi::c_void, pbsignature: *mut u8, pcbsignature: *mut u32) -> super::super::Foundation::BOOL;
594     #[cfg(feature = "Win32_Foundation")]
CryptSignHashA(hhash: usize, dwkeyspec: u32, szdescription: super::super::Foundation::PSTR, dwflags: u32, pbsignature: *mut u8, pdwsiglen: *mut u32) -> super::super::Foundation::BOOL595     pub fn CryptSignHashA(hhash: usize, dwkeyspec: u32, szdescription: super::super::Foundation::PSTR, dwflags: u32, pbsignature: *mut u8, pdwsiglen: *mut u32) -> super::super::Foundation::BOOL;
596     #[cfg(feature = "Win32_Foundation")]
CryptSignHashW(hhash: usize, dwkeyspec: u32, szdescription: super::super::Foundation::PWSTR, dwflags: u32, pbsignature: *mut u8, pdwsiglen: *mut u32) -> super::super::Foundation::BOOL597     pub fn CryptSignHashW(hhash: usize, dwkeyspec: u32, szdescription: super::super::Foundation::PWSTR, dwflags: u32, pbsignature: *mut u8, pdwsiglen: *mut u32) -> super::super::Foundation::BOOL;
598     #[cfg(feature = "Win32_Foundation")]
CryptSignMessage(psignpara: *const CRYPT_SIGN_MESSAGE_PARA, fdetachedsignature: super::super::Foundation::BOOL, ctobesigned: u32, rgpbtobesigned: *const *const u8, rgcbtobesigned: *const u32, pbsignedblob: *mut u8, pcbsignedblob: *mut u32) -> super::super::Foundation::BOOL599     pub fn CryptSignMessage(psignpara: *const CRYPT_SIGN_MESSAGE_PARA, fdetachedsignature: super::super::Foundation::BOOL, ctobesigned: u32, rgpbtobesigned: *const *const u8, rgcbtobesigned: *const u32, pbsignedblob: *mut u8, pcbsignedblob: *mut u32) -> super::super::Foundation::BOOL;
600     #[cfg(feature = "Win32_Foundation")]
CryptSignMessageWithKey(psignpara: *const CRYPT_KEY_SIGN_MESSAGE_PARA, pbtobesigned: *const u8, cbtobesigned: u32, pbsignedblob: *mut u8, pcbsignedblob: *mut u32) -> super::super::Foundation::BOOL601     pub fn CryptSignMessageWithKey(psignpara: *const CRYPT_KEY_SIGN_MESSAGE_PARA, pbtobesigned: *const u8, cbtobesigned: u32, pbsignedblob: *mut u8, pcbsignedblob: *mut u32) -> super::super::Foundation::BOOL;
602     #[cfg(feature = "Win32_Foundation")]
CryptStringToBinaryA(pszstring: super::super::Foundation::PSTR, cchstring: u32, dwflags: CRYPT_STRING, pbbinary: *mut u8, pcbbinary: *mut u32, pdwskip: *mut u32, pdwflags: *mut u32) -> super::super::Foundation::BOOL603     pub fn CryptStringToBinaryA(pszstring: super::super::Foundation::PSTR, cchstring: u32, dwflags: CRYPT_STRING, pbbinary: *mut u8, pcbbinary: *mut u32, pdwskip: *mut u32, pdwflags: *mut u32) -> super::super::Foundation::BOOL;
604     #[cfg(feature = "Win32_Foundation")]
CryptStringToBinaryW(pszstring: super::super::Foundation::PWSTR, cchstring: u32, dwflags: CRYPT_STRING, pbbinary: *mut u8, pcbbinary: *mut u32, pdwskip: *mut u32, pdwflags: *mut u32) -> super::super::Foundation::BOOL605     pub fn CryptStringToBinaryW(pszstring: super::super::Foundation::PWSTR, cchstring: u32, dwflags: CRYPT_STRING, pbbinary: *mut u8, pcbbinary: *mut u32, pdwskip: *mut u32, pdwflags: *mut u32) -> super::super::Foundation::BOOL;
606     #[cfg(feature = "Win32_Foundation")]
CryptUninstallCancelRetrieval(dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL607     pub fn CryptUninstallCancelRetrieval(dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
608     #[cfg(feature = "Win32_Foundation")]
CryptUninstallDefaultContext(hdefaultcontext: *const ::core::ffi::c_void, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL609     pub fn CryptUninstallDefaultContext(hdefaultcontext: *const ::core::ffi::c_void, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
610     #[cfg(feature = "Win32_Foundation")]
CryptUnprotectData(pdatain: *const CRYPTOAPI_BLOB, ppszdatadescr: *mut super::super::Foundation::PWSTR, poptionalentropy: *const CRYPTOAPI_BLOB, pvreserved: *mut ::core::ffi::c_void, ppromptstruct: *const CRYPTPROTECT_PROMPTSTRUCT, dwflags: u32, pdataout: *mut CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL611     pub fn CryptUnprotectData(pdatain: *const CRYPTOAPI_BLOB, ppszdatadescr: *mut super::super::Foundation::PWSTR, poptionalentropy: *const CRYPTOAPI_BLOB, pvreserved: *mut ::core::ffi::c_void, ppromptstruct: *const CRYPTPROTECT_PROMPTSTRUCT, dwflags: u32, pdataout: *mut CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL;
612     #[cfg(feature = "Win32_Foundation")]
CryptUnprotectMemory(pdatain: *mut ::core::ffi::c_void, cbdatain: u32, dwflags: u32) -> super::super::Foundation::BOOL613     pub fn CryptUnprotectMemory(pdatain: *mut ::core::ffi::c_void, cbdatain: u32, dwflags: u32) -> super::super::Foundation::BOOL;
614     #[cfg(feature = "Win32_Foundation")]
CryptUnregisterDefaultOIDFunction(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pwszdll: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL615     pub fn CryptUnregisterDefaultOIDFunction(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pwszdll: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL;
616     #[cfg(feature = "Win32_Foundation")]
CryptUnregisterOIDFunction(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pszoid: super::super::Foundation::PSTR) -> super::super::Foundation::BOOL617     pub fn CryptUnregisterOIDFunction(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pszoid: super::super::Foundation::PSTR) -> super::super::Foundation::BOOL;
618     #[cfg(feature = "Win32_Foundation")]
CryptUnregisterOIDInfo(pinfo: *const CRYPT_OID_INFO) -> super::super::Foundation::BOOL619     pub fn CryptUnregisterOIDInfo(pinfo: *const CRYPT_OID_INFO) -> super::super::Foundation::BOOL;
620     #[cfg(feature = "Win32_Foundation")]
CryptUpdateProtectedState(poldsid: super::super::Foundation::PSID, pwszoldpassword: super::super::Foundation::PWSTR, dwflags: u32, pdwsuccesscount: *mut u32, pdwfailurecount: *mut u32) -> super::super::Foundation::BOOL621     pub fn CryptUpdateProtectedState(poldsid: super::super::Foundation::PSID, pwszoldpassword: super::super::Foundation::PWSTR, dwflags: u32, pdwsuccesscount: *mut u32, pdwfailurecount: *mut u32) -> super::super::Foundation::BOOL;
622     #[cfg(feature = "Win32_Foundation")]
CryptVerifyCertificateSignature(hcryptprov: usize, dwcertencodingtype: u32, pbencoded: *const u8, cbencoded: u32, ppublickey: *const CERT_PUBLIC_KEY_INFO) -> super::super::Foundation::BOOL623     pub fn CryptVerifyCertificateSignature(hcryptprov: usize, dwcertencodingtype: u32, pbencoded: *const u8, cbencoded: u32, ppublickey: *const CERT_PUBLIC_KEY_INFO) -> super::super::Foundation::BOOL;
624     #[cfg(feature = "Win32_Foundation")]
CryptVerifyCertificateSignatureEx(hcryptprov: usize, dwcertencodingtype: u32, dwsubjecttype: u32, pvsubject: *const ::core::ffi::c_void, dwissuertype: u32, pvissuer: *const ::core::ffi::c_void, dwflags: CRYPT_VERIFY_CERT_FLAGS, pvextra: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL625     pub fn CryptVerifyCertificateSignatureEx(hcryptprov: usize, dwcertencodingtype: u32, dwsubjecttype: u32, pvsubject: *const ::core::ffi::c_void, dwissuertype: u32, pvissuer: *const ::core::ffi::c_void, dwflags: CRYPT_VERIFY_CERT_FLAGS, pvextra: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
626     #[cfg(feature = "Win32_Foundation")]
CryptVerifyDetachedMessageHash(phashpara: *const CRYPT_HASH_MESSAGE_PARA, pbdetachedhashblob: *const u8, cbdetachedhashblob: u32, ctobehashed: u32, rgpbtobehashed: *const *const u8, rgcbtobehashed: *const u32, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL627     pub fn CryptVerifyDetachedMessageHash(phashpara: *const CRYPT_HASH_MESSAGE_PARA, pbdetachedhashblob: *const u8, cbdetachedhashblob: u32, ctobehashed: u32, rgpbtobehashed: *const *const u8, rgcbtobehashed: *const u32, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL;
628     #[cfg(feature = "Win32_Foundation")]
CryptVerifyDetachedMessageSignature(pverifypara: *const CRYPT_VERIFY_MESSAGE_PARA, dwsignerindex: u32, pbdetachedsignblob: *const u8, cbdetachedsignblob: u32, ctobesigned: u32, rgpbtobesigned: *const *const u8, rgcbtobesigned: *const u32, ppsignercert: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL629     pub fn CryptVerifyDetachedMessageSignature(pverifypara: *const CRYPT_VERIFY_MESSAGE_PARA, dwsignerindex: u32, pbdetachedsignblob: *const u8, cbdetachedsignblob: u32, ctobesigned: u32, rgpbtobesigned: *const *const u8, rgcbtobesigned: *const u32, ppsignercert: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL;
630     #[cfg(feature = "Win32_Foundation")]
CryptVerifyMessageHash(phashpara: *const CRYPT_HASH_MESSAGE_PARA, pbhashedblob: *const u8, cbhashedblob: u32, pbtobehashed: *mut u8, pcbtobehashed: *mut u32, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL631     pub fn CryptVerifyMessageHash(phashpara: *const CRYPT_HASH_MESSAGE_PARA, pbhashedblob: *const u8, cbhashedblob: u32, pbtobehashed: *mut u8, pcbtobehashed: *mut u32, pbcomputedhash: *mut u8, pcbcomputedhash: *mut u32) -> super::super::Foundation::BOOL;
632     #[cfg(feature = "Win32_Foundation")]
CryptVerifyMessageSignature(pverifypara: *const CRYPT_VERIFY_MESSAGE_PARA, dwsignerindex: u32, pbsignedblob: *const u8, cbsignedblob: u32, pbdecoded: *mut u8, pcbdecoded: *mut u32, ppsignercert: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL633     pub fn CryptVerifyMessageSignature(pverifypara: *const CRYPT_VERIFY_MESSAGE_PARA, dwsignerindex: u32, pbsignedblob: *const u8, cbsignedblob: u32, pbdecoded: *mut u8, pcbdecoded: *mut u32, ppsignercert: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL;
634     #[cfg(feature = "Win32_Foundation")]
CryptVerifyMessageSignatureWithKey(pverifypara: *const CRYPT_KEY_VERIFY_MESSAGE_PARA, ppublickeyinfo: *const CERT_PUBLIC_KEY_INFO, pbsignedblob: *const u8, cbsignedblob: u32, pbdecoded: *mut u8, pcbdecoded: *mut u32) -> super::super::Foundation::BOOL635     pub fn CryptVerifyMessageSignatureWithKey(pverifypara: *const CRYPT_KEY_VERIFY_MESSAGE_PARA, ppublickeyinfo: *const CERT_PUBLIC_KEY_INFO, pbsignedblob: *const u8, cbsignedblob: u32, pbdecoded: *mut u8, pcbdecoded: *mut u32) -> super::super::Foundation::BOOL;
636     #[cfg(feature = "Win32_Foundation")]
CryptVerifySignatureA(hhash: usize, pbsignature: *const u8, dwsiglen: u32, hpubkey: usize, szdescription: super::super::Foundation::PSTR, dwflags: u32) -> super::super::Foundation::BOOL637     pub fn CryptVerifySignatureA(hhash: usize, pbsignature: *const u8, dwsiglen: u32, hpubkey: usize, szdescription: super::super::Foundation::PSTR, dwflags: u32) -> super::super::Foundation::BOOL;
638     #[cfg(feature = "Win32_Foundation")]
CryptVerifySignatureW(hhash: usize, pbsignature: *const u8, dwsiglen: u32, hpubkey: usize, szdescription: super::super::Foundation::PWSTR, dwflags: u32) -> super::super::Foundation::BOOL639     pub fn CryptVerifySignatureW(hhash: usize, pbsignature: *const u8, dwsiglen: u32, hpubkey: usize, szdescription: super::super::Foundation::PWSTR, dwflags: u32) -> super::super::Foundation::BOOL;
640     #[cfg(feature = "Win32_Foundation")]
CryptVerifyTimeStampSignature(pbtscontentinfo: *const u8, cbtscontentinfo: u32, pbdata: *const u8, cbdata: u32, hadditionalstore: *const ::core::ffi::c_void, pptscontext: *mut *mut CRYPT_TIMESTAMP_CONTEXT, pptssigner: *mut *mut CERT_CONTEXT, phstore: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL641     pub fn CryptVerifyTimeStampSignature(pbtscontentinfo: *const u8, cbtscontentinfo: u32, pbdata: *const u8, cbdata: u32, hadditionalstore: *const ::core::ffi::c_void, pptscontext: *mut *mut CRYPT_TIMESTAMP_CONTEXT, pptssigner: *mut *mut CERT_CONTEXT, phstore: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
642     #[cfg(feature = "Win32_Foundation")]
CryptXmlAddObject(hsignatureorobject: *const ::core::ffi::c_void, dwflags: u32, rgproperty: *const CRYPT_XML_PROPERTY, cproperty: u32, pencoded: *const CRYPT_XML_BLOB, ppobject: *mut *mut CRYPT_XML_OBJECT) -> ::windows_sys::core::HRESULT643     pub fn CryptXmlAddObject(hsignatureorobject: *const ::core::ffi::c_void, dwflags: u32, rgproperty: *const CRYPT_XML_PROPERTY, cproperty: u32, pencoded: *const CRYPT_XML_BLOB, ppobject: *mut *mut CRYPT_XML_OBJECT) -> ::windows_sys::core::HRESULT;
CryptXmlClose(hcryptxml: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT644     pub fn CryptXmlClose(hcryptxml: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
645     #[cfg(feature = "Win32_Foundation")]
CryptXmlCreateReference(hcryptxml: *const ::core::ffi::c_void, dwflags: u32, wszid: super::super::Foundation::PWSTR, wszuri: super::super::Foundation::PWSTR, wsztype: super::super::Foundation::PWSTR, pdigestmethod: *const CRYPT_XML_ALGORITHM, ctransform: u32, rgtransform: *const CRYPT_XML_ALGORITHM, phreference: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT646     pub fn CryptXmlCreateReference(hcryptxml: *const ::core::ffi::c_void, dwflags: u32, wszid: super::super::Foundation::PWSTR, wszuri: super::super::Foundation::PWSTR, wsztype: super::super::Foundation::PWSTR, pdigestmethod: *const CRYPT_XML_ALGORITHM, ctransform: u32, rgtransform: *const CRYPT_XML_ALGORITHM, phreference: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
CryptXmlDigestReference(hreference: *const ::core::ffi::c_void, dwflags: u32, pdataproviderin: *const CRYPT_XML_DATA_PROVIDER) -> ::windows_sys::core::HRESULT647     pub fn CryptXmlDigestReference(hreference: *const ::core::ffi::c_void, dwflags: u32, pdataproviderin: *const CRYPT_XML_DATA_PROVIDER) -> ::windows_sys::core::HRESULT;
CryptXmlEncode(hcryptxml: *const ::core::ffi::c_void, dwcharset: CRYPT_XML_CHARSET, rgproperty: *const CRYPT_XML_PROPERTY, cproperty: u32, pvcallbackstate: *mut ::core::ffi::c_void, pfnwrite: ::core::option::Option<PFN_CRYPT_XML_WRITE_CALLBACK>) -> ::windows_sys::core::HRESULT648     pub fn CryptXmlEncode(hcryptxml: *const ::core::ffi::c_void, dwcharset: CRYPT_XML_CHARSET, rgproperty: *const CRYPT_XML_PROPERTY, cproperty: u32, pvcallbackstate: *mut ::core::ffi::c_void, pfnwrite: ::core::option::Option<PFN_CRYPT_XML_WRITE_CALLBACK>) -> ::windows_sys::core::HRESULT;
649     #[cfg(feature = "Win32_Foundation")]
CryptXmlEnumAlgorithmInfo(dwgroupid: u32, dwflags: u32, pvarg: *mut ::core::ffi::c_void, pfnenumalginfo: ::core::option::Option<PFN_CRYPT_XML_ENUM_ALG_INFO>) -> ::windows_sys::core::HRESULT650     pub fn CryptXmlEnumAlgorithmInfo(dwgroupid: u32, dwflags: u32, pvarg: *mut ::core::ffi::c_void, pfnenumalginfo: ::core::option::Option<PFN_CRYPT_XML_ENUM_ALG_INFO>) -> ::windows_sys::core::HRESULT;
651     #[cfg(feature = "Win32_Foundation")]
CryptXmlFindAlgorithmInfo(dwfindbytype: u32, pvfindby: *const ::core::ffi::c_void, dwgroupid: u32, dwflags: u32) -> *mut CRYPT_XML_ALGORITHM_INFO652     pub fn CryptXmlFindAlgorithmInfo(dwfindbytype: u32, pvfindby: *const ::core::ffi::c_void, dwgroupid: u32, dwflags: u32) -> *mut CRYPT_XML_ALGORITHM_INFO;
653     #[cfg(feature = "Win32_Foundation")]
CryptXmlGetAlgorithmInfo(pxmlalgorithm: *const CRYPT_XML_ALGORITHM, dwflags: CRYPT_XML_FLAGS, ppalginfo: *mut *mut CRYPT_XML_ALGORITHM_INFO) -> ::windows_sys::core::HRESULT654     pub fn CryptXmlGetAlgorithmInfo(pxmlalgorithm: *const CRYPT_XML_ALGORITHM, dwflags: CRYPT_XML_FLAGS, ppalginfo: *mut *mut CRYPT_XML_ALGORITHM_INFO) -> ::windows_sys::core::HRESULT;
655     #[cfg(feature = "Win32_Foundation")]
CryptXmlGetDocContext(hcryptxml: *const ::core::ffi::c_void, ppstruct: *mut *mut CRYPT_XML_DOC_CTXT) -> ::windows_sys::core::HRESULT656     pub fn CryptXmlGetDocContext(hcryptxml: *const ::core::ffi::c_void, ppstruct: *mut *mut CRYPT_XML_DOC_CTXT) -> ::windows_sys::core::HRESULT;
657     #[cfg(feature = "Win32_Foundation")]
CryptXmlGetReference(hcryptxml: *const ::core::ffi::c_void, ppstruct: *mut *mut CRYPT_XML_REFERENCE) -> ::windows_sys::core::HRESULT658     pub fn CryptXmlGetReference(hcryptxml: *const ::core::ffi::c_void, ppstruct: *mut *mut CRYPT_XML_REFERENCE) -> ::windows_sys::core::HRESULT;
659     #[cfg(feature = "Win32_Foundation")]
CryptXmlGetSignature(hcryptxml: *const ::core::ffi::c_void, ppstruct: *mut *mut CRYPT_XML_SIGNATURE) -> ::windows_sys::core::HRESULT660     pub fn CryptXmlGetSignature(hcryptxml: *const ::core::ffi::c_void, ppstruct: *mut *mut CRYPT_XML_SIGNATURE) -> ::windows_sys::core::HRESULT;
CryptXmlGetStatus(hcryptxml: *const ::core::ffi::c_void, pstatus: *mut CRYPT_XML_STATUS) -> ::windows_sys::core::HRESULT661     pub fn CryptXmlGetStatus(hcryptxml: *const ::core::ffi::c_void, pstatus: *mut CRYPT_XML_STATUS) -> ::windows_sys::core::HRESULT;
662     #[cfg(feature = "Win32_Foundation")]
CryptXmlGetTransforms(ppconfig: *mut *mut CRYPT_XML_TRANSFORM_CHAIN_CONFIG) -> ::windows_sys::core::HRESULT663     pub fn CryptXmlGetTransforms(ppconfig: *mut *mut CRYPT_XML_TRANSFORM_CHAIN_CONFIG) -> ::windows_sys::core::HRESULT;
664     #[cfg(feature = "Win32_Foundation")]
CryptXmlImportPublicKey(dwflags: CRYPT_XML_FLAGS, pkeyvalue: *const CRYPT_XML_KEY_VALUE, phkey: *mut BCRYPT_KEY_HANDLE) -> ::windows_sys::core::HRESULT665     pub fn CryptXmlImportPublicKey(dwflags: CRYPT_XML_FLAGS, pkeyvalue: *const CRYPT_XML_KEY_VALUE, phkey: *mut BCRYPT_KEY_HANDLE) -> ::windows_sys::core::HRESULT;
666     #[cfg(feature = "Win32_Foundation")]
CryptXmlOpenToDecode(pconfig: *const CRYPT_XML_TRANSFORM_CHAIN_CONFIG, dwflags: CRYPT_XML_FLAGS, rgproperty: *const CRYPT_XML_PROPERTY, cproperty: u32, pencoded: *const CRYPT_XML_BLOB, phcryptxml: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT667     pub fn CryptXmlOpenToDecode(pconfig: *const CRYPT_XML_TRANSFORM_CHAIN_CONFIG, dwflags: CRYPT_XML_FLAGS, rgproperty: *const CRYPT_XML_PROPERTY, cproperty: u32, pencoded: *const CRYPT_XML_BLOB, phcryptxml: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
668     #[cfg(feature = "Win32_Foundation")]
CryptXmlOpenToEncode(pconfig: *const CRYPT_XML_TRANSFORM_CHAIN_CONFIG, dwflags: CRYPT_XML_FLAGS, wszid: super::super::Foundation::PWSTR, rgproperty: *const CRYPT_XML_PROPERTY, cproperty: u32, pencoded: *const CRYPT_XML_BLOB, phsignature: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT669     pub fn CryptXmlOpenToEncode(pconfig: *const CRYPT_XML_TRANSFORM_CHAIN_CONFIG, dwflags: CRYPT_XML_FLAGS, wszid: super::super::Foundation::PWSTR, rgproperty: *const CRYPT_XML_PROPERTY, cproperty: u32, pencoded: *const CRYPT_XML_BLOB, phsignature: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
CryptXmlSetHMACSecret(hsignature: *const ::core::ffi::c_void, pbsecret: *const u8, cbsecret: u32) -> ::windows_sys::core::HRESULT670     pub fn CryptXmlSetHMACSecret(hsignature: *const ::core::ffi::c_void, pbsecret: *const u8, cbsecret: u32) -> ::windows_sys::core::HRESULT;
671     #[cfg(feature = "Win32_Foundation")]
CryptXmlSign(hsignature: *const ::core::ffi::c_void, hkey: usize, dwkeyspec: CERT_KEY_SPEC, dwflags: CRYPT_XML_FLAGS, dwkeyinfospec: CRYPT_XML_KEYINFO_SPEC, pvkeyinfospec: *const ::core::ffi::c_void, psignaturemethod: *const CRYPT_XML_ALGORITHM, pcanonicalization: *const CRYPT_XML_ALGORITHM) -> ::windows_sys::core::HRESULT672     pub fn CryptXmlSign(hsignature: *const ::core::ffi::c_void, hkey: usize, dwkeyspec: CERT_KEY_SPEC, dwflags: CRYPT_XML_FLAGS, dwkeyinfospec: CRYPT_XML_KEYINFO_SPEC, pvkeyinfospec: *const ::core::ffi::c_void, psignaturemethod: *const CRYPT_XML_ALGORITHM, pcanonicalization: *const CRYPT_XML_ALGORITHM) -> ::windows_sys::core::HRESULT;
CryptXmlVerifySignature(hsignature: *const ::core::ffi::c_void, hkey: BCRYPT_KEY_HANDLE, dwflags: CRYPT_XML_FLAGS) -> ::windows_sys::core::HRESULT673     pub fn CryptXmlVerifySignature(hsignature: *const ::core::ffi::c_void, hkey: BCRYPT_KEY_HANDLE, dwflags: CRYPT_XML_FLAGS) -> ::windows_sys::core::HRESULT;
674     #[cfg(feature = "Win32_Foundation")]
Decrypt(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, foaep: super::super::Foundation::BOOL, cbindata: u32, pindata: *const u8, pcboutdata: *mut u32, ppoutdata: *mut *mut u8) -> ::windows_sys::core::HRESULT675     pub fn Decrypt(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, foaep: super::super::Foundation::BOOL, cbindata: u32, pindata: *const u8, pcboutdata: *mut u32, ppoutdata: *mut *mut u8) -> ::windows_sys::core::HRESULT;
676     #[cfg(feature = "Win32_Foundation")]
Encrypt(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, foaep: super::super::Foundation::BOOL, cbindata: u32, pindata: *const u8, pcboutdata: *mut u32, ppoutdata: *mut *mut u8) -> ::windows_sys::core::HRESULT677     pub fn Encrypt(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, foaep: super::super::Foundation::BOOL, cbindata: u32, pindata: *const u8, pcboutdata: *mut u32, ppoutdata: *mut *mut u8) -> ::windows_sys::core::HRESULT;
678     #[cfg(feature = "Win32_Foundation")]
FindCertsByIssuer(pcertchains: *mut CERT_CHAIN, pcbcertchains: *mut u32, pccertchains: *mut u32, pbencodedissuername: *const u8, cbencodedissuername: u32, pwszpurpose: super::super::Foundation::PWSTR, dwkeyspec: u32) -> ::windows_sys::core::HRESULT679     pub fn FindCertsByIssuer(pcertchains: *mut CERT_CHAIN, pcbcertchains: *mut u32, pccertchains: *mut u32, pbencodedissuername: *const u8, cbencodedissuername: u32, pwszpurpose: super::super::Foundation::PWSTR, dwkeyspec: u32) -> ::windows_sys::core::HRESULT;
680     #[cfg(feature = "Win32_Foundation")]
FreeToken(pallocmemory: *const GENERIC_XML_TOKEN) -> super::super::Foundation::BOOL681     pub fn FreeToken(pallocmemory: *const GENERIC_XML_TOKEN) -> super::super::Foundation::BOOL;
682     #[cfg(feature = "Win32_Foundation")]
GenerateDerivedKey(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cblabel: u32, plabel: *const u8, cbnonce: u32, pnonce: *const u8, derivedkeylength: u32, offset: u32, algid: super::super::Foundation::PWSTR, pcbkey: *mut u32, ppkey: *mut *mut u8) -> ::windows_sys::core::HRESULT683     pub fn GenerateDerivedKey(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cblabel: u32, plabel: *const u8, cbnonce: u32, pnonce: *const u8, derivedkeylength: u32, offset: u32, algid: super::super::Foundation::PWSTR, pcbkey: *mut u32, ppkey: *mut *mut u8) -> ::windows_sys::core::HRESULT;
GetBrowserToken(dwparamtype: u32, pparam: *const ::core::ffi::c_void, pcbtoken: *mut u32, pptoken: *mut *mut u8) -> ::windows_sys::core::HRESULT684     pub fn GetBrowserToken(dwparamtype: u32, pparam: *const ::core::ffi::c_void, pcbtoken: *mut u32, pptoken: *mut *mut u8) -> ::windows_sys::core::HRESULT;
GetCryptoTransform(hsymmetriccrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, mode: u32, padding: PaddingMode, feedbacksize: u32, direction: Direction, cbiv: u32, piv: *const u8, pphtransform: *mut *mut INFORMATIONCARD_CRYPTO_HANDLE) -> ::windows_sys::core::HRESULT685     pub fn GetCryptoTransform(hsymmetriccrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, mode: u32, padding: PaddingMode, feedbacksize: u32, direction: Direction, cbiv: u32, piv: *const u8, pphtransform: *mut *mut INFORMATIONCARD_CRYPTO_HANDLE) -> ::windows_sys::core::HRESULT;
GetKeyedHash(hsymmetriccrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, pphhash: *mut *mut INFORMATIONCARD_CRYPTO_HANDLE) -> ::windows_sys::core::HRESULT686     pub fn GetKeyedHash(hsymmetriccrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, pphhash: *mut *mut INFORMATIONCARD_CRYPTO_HANDLE) -> ::windows_sys::core::HRESULT;
687     #[cfg(feature = "Win32_Foundation")]
GetToken(cpolicychain: u32, ppolicychain: *const POLICY_ELEMENT, securitytoken: *mut *mut GENERIC_XML_TOKEN, phprooftokencrypto: *mut *mut INFORMATIONCARD_CRYPTO_HANDLE) -> ::windows_sys::core::HRESULT688     pub fn GetToken(cpolicychain: u32, ppolicychain: *const POLICY_ELEMENT, securitytoken: *mut *mut GENERIC_XML_TOKEN, phprooftokencrypto: *mut *mut INFORMATIONCARD_CRYPTO_HANDLE) -> ::windows_sys::core::HRESULT;
HashCore(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cbindata: u32, pindata: *const u8) -> ::windows_sys::core::HRESULT689     pub fn HashCore(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cbindata: u32, pindata: *const u8) -> ::windows_sys::core::HRESULT;
HashFinal(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cbindata: u32, pindata: *const u8, pcboutdata: *mut u32, ppoutdata: *mut *mut u8) -> ::windows_sys::core::HRESULT690     pub fn HashFinal(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cbindata: u32, pindata: *const u8, pcboutdata: *mut u32, ppoutdata: *mut *mut u8) -> ::windows_sys::core::HRESULT;
691     #[cfg(feature = "Win32_Foundation")]
ImportInformationCard(filename: super::super::Foundation::PWSTR) -> ::windows_sys::core::HRESULT692     pub fn ImportInformationCard(filename: super::super::Foundation::PWSTR) -> ::windows_sys::core::HRESULT;
ManageCardSpace() -> ::windows_sys::core::HRESULT693     pub fn ManageCardSpace() -> ::windows_sys::core::HRESULT;
NCryptCloseProtectionDescriptor(hdescriptor: super::NCRYPT_DESCRIPTOR_HANDLE) -> i32694     pub fn NCryptCloseProtectionDescriptor(hdescriptor: super::NCRYPT_DESCRIPTOR_HANDLE) -> i32;
NCryptCreateClaim(hsubjectkey: usize, hauthoritykey: usize, dwclaimtype: u32, pparameterlist: *const BCryptBufferDesc, pbclaimblob: *mut u8, cbclaimblob: u32, pcbresult: *mut u32, dwflags: u32) -> i32695     pub fn NCryptCreateClaim(hsubjectkey: usize, hauthoritykey: usize, dwclaimtype: u32, pparameterlist: *const BCryptBufferDesc, pbclaimblob: *mut u8, cbclaimblob: u32, pcbresult: *mut u32, dwflags: u32) -> i32;
696     #[cfg(feature = "Win32_Foundation")]
NCryptCreatePersistedKey(hprovider: usize, phkey: *mut usize, pszalgid: super::super::Foundation::PWSTR, pszkeyname: super::super::Foundation::PWSTR, dwlegacykeyspec: CERT_KEY_SPEC, dwflags: NCRYPT_FLAGS) -> i32697     pub fn NCryptCreatePersistedKey(hprovider: usize, phkey: *mut usize, pszalgid: super::super::Foundation::PWSTR, pszkeyname: super::super::Foundation::PWSTR, dwlegacykeyspec: CERT_KEY_SPEC, dwflags: NCRYPT_FLAGS) -> i32;
698     #[cfg(feature = "Win32_Foundation")]
NCryptCreateProtectionDescriptor(pwszdescriptorstring: super::super::Foundation::PWSTR, dwflags: u32, phdescriptor: *mut super::NCRYPT_DESCRIPTOR_HANDLE) -> i32699     pub fn NCryptCreateProtectionDescriptor(pwszdescriptorstring: super::super::Foundation::PWSTR, dwflags: u32, phdescriptor: *mut super::NCRYPT_DESCRIPTOR_HANDLE) -> i32;
NCryptDecrypt(hkey: usize, pbinput: *const u8, cbinput: u32, ppaddinginfo: *const ::core::ffi::c_void, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> i32700     pub fn NCryptDecrypt(hkey: usize, pbinput: *const u8, cbinput: u32, ppaddinginfo: *const ::core::ffi::c_void, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> i32;
NCryptDeleteKey(hkey: usize, dwflags: u32) -> i32701     pub fn NCryptDeleteKey(hkey: usize, dwflags: u32) -> i32;
702     #[cfg(feature = "Win32_Foundation")]
NCryptDeriveKey(hsharedsecret: usize, pwszkdf: super::super::Foundation::PWSTR, pparameterlist: *const BCryptBufferDesc, pbderivedkey: *mut u8, cbderivedkey: u32, pcbresult: *mut u32, dwflags: u32) -> i32703     pub fn NCryptDeriveKey(hsharedsecret: usize, pwszkdf: super::super::Foundation::PWSTR, pparameterlist: *const BCryptBufferDesc, pbderivedkey: *mut u8, cbderivedkey: u32, pcbresult: *mut u32, dwflags: u32) -> i32;
NCryptEncrypt(hkey: usize, pbinput: *const u8, cbinput: u32, ppaddinginfo: *const ::core::ffi::c_void, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> i32704     pub fn NCryptEncrypt(hkey: usize, pbinput: *const u8, cbinput: u32, ppaddinginfo: *const ::core::ffi::c_void, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> i32;
705     #[cfg(feature = "Win32_Foundation")]
NCryptEnumAlgorithms(hprovider: usize, dwalgoperations: NCRYPT_OPERATION, pdwalgcount: *mut u32, ppalglist: *mut *mut NCryptAlgorithmName, dwflags: u32) -> i32706     pub fn NCryptEnumAlgorithms(hprovider: usize, dwalgoperations: NCRYPT_OPERATION, pdwalgcount: *mut u32, ppalglist: *mut *mut NCryptAlgorithmName, dwflags: u32) -> i32;
707     #[cfg(feature = "Win32_Foundation")]
NCryptEnumKeys(hprovider: usize, pszscope: super::super::Foundation::PWSTR, ppkeyname: *mut *mut NCryptKeyName, ppenumstate: *mut *mut ::core::ffi::c_void, dwflags: NCRYPT_FLAGS) -> i32708     pub fn NCryptEnumKeys(hprovider: usize, pszscope: super::super::Foundation::PWSTR, ppkeyname: *mut *mut NCryptKeyName, ppenumstate: *mut *mut ::core::ffi::c_void, dwflags: NCRYPT_FLAGS) -> i32;
709     #[cfg(feature = "Win32_Foundation")]
NCryptEnumStorageProviders(pdwprovidercount: *mut u32, ppproviderlist: *mut *mut NCryptProviderName, dwflags: u32) -> i32710     pub fn NCryptEnumStorageProviders(pdwprovidercount: *mut u32, ppproviderlist: *mut *mut NCryptProviderName, dwflags: u32) -> i32;
711     #[cfg(feature = "Win32_Foundation")]
NCryptExportKey(hkey: usize, hexportkey: usize, pszblobtype: super::super::Foundation::PWSTR, pparameterlist: *const BCryptBufferDesc, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> i32712     pub fn NCryptExportKey(hkey: usize, hexportkey: usize, pszblobtype: super::super::Foundation::PWSTR, pparameterlist: *const BCryptBufferDesc, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> i32;
NCryptFinalizeKey(hkey: usize, dwflags: NCRYPT_FLAGS) -> i32713     pub fn NCryptFinalizeKey(hkey: usize, dwflags: NCRYPT_FLAGS) -> i32;
NCryptFreeBuffer(pvinput: *mut ::core::ffi::c_void) -> i32714     pub fn NCryptFreeBuffer(pvinput: *mut ::core::ffi::c_void) -> i32;
NCryptFreeObject(hobject: usize) -> i32715     pub fn NCryptFreeObject(hobject: usize) -> i32;
716     #[cfg(feature = "Win32_Foundation")]
NCryptGetProperty(hobject: usize, pszproperty: super::super::Foundation::PWSTR, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: super::OBJECT_SECURITY_INFORMATION) -> i32717     pub fn NCryptGetProperty(hobject: usize, pszproperty: super::super::Foundation::PWSTR, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32, dwflags: super::OBJECT_SECURITY_INFORMATION) -> i32;
NCryptGetProtectionDescriptorInfo(hdescriptor: super::NCRYPT_DESCRIPTOR_HANDLE, pmempara: *const NCRYPT_ALLOC_PARA, dwinfotype: u32, ppvinfo: *mut *mut ::core::ffi::c_void) -> i32718     pub fn NCryptGetProtectionDescriptorInfo(hdescriptor: super::NCRYPT_DESCRIPTOR_HANDLE, pmempara: *const NCRYPT_ALLOC_PARA, dwinfotype: u32, ppvinfo: *mut *mut ::core::ffi::c_void) -> i32;
719     #[cfg(feature = "Win32_Foundation")]
NCryptImportKey(hprovider: usize, himportkey: usize, pszblobtype: super::super::Foundation::PWSTR, pparameterlist: *const BCryptBufferDesc, phkey: *mut usize, pbdata: *const u8, cbdata: u32, dwflags: NCRYPT_FLAGS) -> i32720     pub fn NCryptImportKey(hprovider: usize, himportkey: usize, pszblobtype: super::super::Foundation::PWSTR, pparameterlist: *const BCryptBufferDesc, phkey: *mut usize, pbdata: *const u8, cbdata: u32, dwflags: NCRYPT_FLAGS) -> i32;
721     #[cfg(feature = "Win32_Foundation")]
NCryptIsAlgSupported(hprovider: usize, pszalgid: super::super::Foundation::PWSTR, dwflags: u32) -> i32722     pub fn NCryptIsAlgSupported(hprovider: usize, pszalgid: super::super::Foundation::PWSTR, dwflags: u32) -> i32;
723     #[cfg(feature = "Win32_Foundation")]
NCryptIsKeyHandle(hkey: usize) -> super::super::Foundation::BOOL724     pub fn NCryptIsKeyHandle(hkey: usize) -> super::super::Foundation::BOOL;
NCryptKeyDerivation(hkey: usize, pparameterlist: *const BCryptBufferDesc, pbderivedkey: *mut u8, cbderivedkey: u32, pcbresult: *mut u32, dwflags: u32) -> i32725     pub fn NCryptKeyDerivation(hkey: usize, pparameterlist: *const BCryptBufferDesc, pbderivedkey: *mut u8, cbderivedkey: u32, pcbresult: *mut u32, dwflags: u32) -> i32;
726     #[cfg(feature = "Win32_Foundation")]
NCryptNotifyChangeKey(hprovider: usize, phevent: *mut super::super::Foundation::HANDLE, dwflags: NCRYPT_FLAGS) -> i32727     pub fn NCryptNotifyChangeKey(hprovider: usize, phevent: *mut super::super::Foundation::HANDLE, dwflags: NCRYPT_FLAGS) -> i32;
728     #[cfg(feature = "Win32_Foundation")]
NCryptOpenKey(hprovider: usize, phkey: *mut usize, pszkeyname: super::super::Foundation::PWSTR, dwlegacykeyspec: CERT_KEY_SPEC, dwflags: NCRYPT_FLAGS) -> i32729     pub fn NCryptOpenKey(hprovider: usize, phkey: *mut usize, pszkeyname: super::super::Foundation::PWSTR, dwlegacykeyspec: CERT_KEY_SPEC, dwflags: NCRYPT_FLAGS) -> i32;
730     #[cfg(feature = "Win32_Foundation")]
NCryptOpenStorageProvider(phprovider: *mut usize, pszprovidername: super::super::Foundation::PWSTR, dwflags: u32) -> i32731     pub fn NCryptOpenStorageProvider(phprovider: *mut usize, pszprovidername: super::super::Foundation::PWSTR, dwflags: u32) -> i32;
732     #[cfg(feature = "Win32_Foundation")]
NCryptProtectSecret(hdescriptor: super::NCRYPT_DESCRIPTOR_HANDLE, dwflags: u32, pbdata: *const u8, cbdata: u32, pmempara: *const NCRYPT_ALLOC_PARA, hwnd: super::super::Foundation::HWND, ppbprotectedblob: *mut *mut u8, pcbprotectedblob: *mut u32) -> i32733     pub fn NCryptProtectSecret(hdescriptor: super::NCRYPT_DESCRIPTOR_HANDLE, dwflags: u32, pbdata: *const u8, cbdata: u32, pmempara: *const NCRYPT_ALLOC_PARA, hwnd: super::super::Foundation::HWND, ppbprotectedblob: *mut *mut u8, pcbprotectedblob: *mut u32) -> i32;
734     #[cfg(feature = "Win32_Foundation")]
NCryptQueryProtectionDescriptorName(pwszname: super::super::Foundation::PWSTR, pwszdescriptorstring: super::super::Foundation::PWSTR, pcdescriptorstring: *mut usize, dwflags: u32) -> i32735     pub fn NCryptQueryProtectionDescriptorName(pwszname: super::super::Foundation::PWSTR, pwszdescriptorstring: super::super::Foundation::PWSTR, pcdescriptorstring: *mut usize, dwflags: u32) -> i32;
736     #[cfg(feature = "Win32_Foundation")]
NCryptRegisterProtectionDescriptorName(pwszname: super::super::Foundation::PWSTR, pwszdescriptorstring: super::super::Foundation::PWSTR, dwflags: u32) -> i32737     pub fn NCryptRegisterProtectionDescriptorName(pwszname: super::super::Foundation::PWSTR, pwszdescriptorstring: super::super::Foundation::PWSTR, dwflags: u32) -> i32;
NCryptSecretAgreement(hprivkey: usize, hpubkey: usize, phagreedsecret: *mut usize, dwflags: NCRYPT_FLAGS) -> i32738     pub fn NCryptSecretAgreement(hprivkey: usize, hpubkey: usize, phagreedsecret: *mut usize, dwflags: NCRYPT_FLAGS) -> i32;
739     #[cfg(feature = "Win32_Foundation")]
NCryptSetProperty(hobject: usize, pszproperty: super::super::Foundation::PWSTR, pbinput: *const u8, cbinput: u32, dwflags: NCRYPT_FLAGS) -> i32740     pub fn NCryptSetProperty(hobject: usize, pszproperty: super::super::Foundation::PWSTR, pbinput: *const u8, cbinput: u32, dwflags: NCRYPT_FLAGS) -> i32;
NCryptSignHash(hkey: usize, ppaddinginfo: *const ::core::ffi::c_void, pbhashvalue: *const u8, cbhashvalue: u32, pbsignature: *mut u8, cbsignature: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> i32741     pub fn NCryptSignHash(hkey: usize, ppaddinginfo: *const ::core::ffi::c_void, pbhashvalue: *const u8, cbhashvalue: u32, pbsignature: *mut u8, cbsignature: u32, pcbresult: *mut u32, dwflags: NCRYPT_FLAGS) -> i32;
NCryptStreamClose(hstream: super::NCRYPT_STREAM_HANDLE) -> i32742     pub fn NCryptStreamClose(hstream: super::NCRYPT_STREAM_HANDLE) -> i32;
743     #[cfg(feature = "Win32_Foundation")]
NCryptStreamOpenToProtect(hdescriptor: super::NCRYPT_DESCRIPTOR_HANDLE, dwflags: u32, hwnd: super::super::Foundation::HWND, pstreaminfo: *const NCRYPT_PROTECT_STREAM_INFO, phstream: *mut super::NCRYPT_STREAM_HANDLE) -> i32744     pub fn NCryptStreamOpenToProtect(hdescriptor: super::NCRYPT_DESCRIPTOR_HANDLE, dwflags: u32, hwnd: super::super::Foundation::HWND, pstreaminfo: *const NCRYPT_PROTECT_STREAM_INFO, phstream: *mut super::NCRYPT_STREAM_HANDLE) -> i32;
745     #[cfg(feature = "Win32_Foundation")]
NCryptStreamOpenToUnprotect(pstreaminfo: *const NCRYPT_PROTECT_STREAM_INFO, dwflags: u32, hwnd: super::super::Foundation::HWND, phstream: *mut super::NCRYPT_STREAM_HANDLE) -> i32746     pub fn NCryptStreamOpenToUnprotect(pstreaminfo: *const NCRYPT_PROTECT_STREAM_INFO, dwflags: u32, hwnd: super::super::Foundation::HWND, phstream: *mut super::NCRYPT_STREAM_HANDLE) -> i32;
747     #[cfg(feature = "Win32_Foundation")]
NCryptStreamOpenToUnprotectEx(pstreaminfo: *const NCRYPT_PROTECT_STREAM_INFO_EX, dwflags: u32, hwnd: super::super::Foundation::HWND, phstream: *mut super::NCRYPT_STREAM_HANDLE) -> i32748     pub fn NCryptStreamOpenToUnprotectEx(pstreaminfo: *const NCRYPT_PROTECT_STREAM_INFO_EX, dwflags: u32, hwnd: super::super::Foundation::HWND, phstream: *mut super::NCRYPT_STREAM_HANDLE) -> i32;
749     #[cfg(feature = "Win32_Foundation")]
NCryptStreamUpdate(hstream: super::NCRYPT_STREAM_HANDLE, pbdata: *const u8, cbdata: usize, ffinal: super::super::Foundation::BOOL) -> i32750     pub fn NCryptStreamUpdate(hstream: super::NCRYPT_STREAM_HANDLE, pbdata: *const u8, cbdata: usize, ffinal: super::super::Foundation::BOOL) -> i32;
NCryptTranslateHandle(phprovider: *mut usize, phkey: *mut usize, hlegacyprov: usize, hlegacykey: usize, dwlegacykeyspec: CERT_KEY_SPEC, dwflags: u32) -> i32751     pub fn NCryptTranslateHandle(phprovider: *mut usize, phkey: *mut usize, hlegacyprov: usize, hlegacykey: usize, dwlegacykeyspec: CERT_KEY_SPEC, dwflags: u32) -> i32;
752     #[cfg(feature = "Win32_Foundation")]
NCryptUnprotectSecret(phdescriptor: *mut super::NCRYPT_DESCRIPTOR_HANDLE, dwflags: NCRYPT_FLAGS, pbprotectedblob: *const u8, cbprotectedblob: u32, pmempara: *const NCRYPT_ALLOC_PARA, hwnd: super::super::Foundation::HWND, ppbdata: *mut *mut u8, pcbdata: *mut u32) -> i32753     pub fn NCryptUnprotectSecret(phdescriptor: *mut super::NCRYPT_DESCRIPTOR_HANDLE, dwflags: NCRYPT_FLAGS, pbprotectedblob: *const u8, cbprotectedblob: u32, pmempara: *const NCRYPT_ALLOC_PARA, hwnd: super::super::Foundation::HWND, ppbdata: *mut *mut u8, pcbdata: *mut u32) -> i32;
NCryptVerifyClaim(hsubjectkey: usize, hauthoritykey: usize, dwclaimtype: u32, pparameterlist: *const BCryptBufferDesc, pbclaimblob: *const u8, cbclaimblob: u32, poutput: *mut BCryptBufferDesc, dwflags: u32) -> i32754     pub fn NCryptVerifyClaim(hsubjectkey: usize, hauthoritykey: usize, dwclaimtype: u32, pparameterlist: *const BCryptBufferDesc, pbclaimblob: *const u8, cbclaimblob: u32, poutput: *mut BCryptBufferDesc, dwflags: u32) -> i32;
NCryptVerifySignature(hkey: usize, ppaddinginfo: *const ::core::ffi::c_void, pbhashvalue: *const u8, cbhashvalue: u32, pbsignature: *const u8, cbsignature: u32, dwflags: NCRYPT_FLAGS) -> i32755     pub fn NCryptVerifySignature(hkey: usize, ppaddinginfo: *const ::core::ffi::c_void, pbhashvalue: *const u8, cbhashvalue: u32, pbsignature: *const u8, cbsignature: u32, dwflags: NCRYPT_FLAGS) -> i32;
756     #[cfg(feature = "Win32_Foundation")]
PFXExportCertStore(hstore: *const ::core::ffi::c_void, ppfx: *mut CRYPTOAPI_BLOB, szpassword: super::super::Foundation::PWSTR, dwflags: u32) -> super::super::Foundation::BOOL757     pub fn PFXExportCertStore(hstore: *const ::core::ffi::c_void, ppfx: *mut CRYPTOAPI_BLOB, szpassword: super::super::Foundation::PWSTR, dwflags: u32) -> super::super::Foundation::BOOL;
758     #[cfg(feature = "Win32_Foundation")]
PFXExportCertStoreEx(hstore: *const ::core::ffi::c_void, ppfx: *mut CRYPTOAPI_BLOB, szpassword: super::super::Foundation::PWSTR, pvpara: *const ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL759     pub fn PFXExportCertStoreEx(hstore: *const ::core::ffi::c_void, ppfx: *mut CRYPTOAPI_BLOB, szpassword: super::super::Foundation::PWSTR, pvpara: *const ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL;
760     #[cfg(feature = "Win32_Foundation")]
PFXImportCertStore(ppfx: *const CRYPTOAPI_BLOB, szpassword: super::super::Foundation::PWSTR, dwflags: CRYPT_KEY_FLAGS) -> *mut ::core::ffi::c_void761     pub fn PFXImportCertStore(ppfx: *const CRYPTOAPI_BLOB, szpassword: super::super::Foundation::PWSTR, dwflags: CRYPT_KEY_FLAGS) -> *mut ::core::ffi::c_void;
762     #[cfg(feature = "Win32_Foundation")]
PFXIsPFXBlob(ppfx: *const CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL763     pub fn PFXIsPFXBlob(ppfx: *const CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL;
764     #[cfg(feature = "Win32_Foundation")]
PFXVerifyPassword(ppfx: *const CRYPTOAPI_BLOB, szpassword: super::super::Foundation::PWSTR, dwflags: u32) -> super::super::Foundation::BOOL765     pub fn PFXVerifyPassword(ppfx: *const CRYPTOAPI_BLOB, szpassword: super::super::Foundation::PWSTR, dwflags: u32) -> super::super::Foundation::BOOL;
766     #[cfg(feature = "Win32_Foundation")]
SignHash(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cbhash: u32, phash: *const u8, hashalgoid: super::super::Foundation::PWSTR, pcbsig: *mut u32, ppsig: *mut *mut u8) -> ::windows_sys::core::HRESULT767     pub fn SignHash(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cbhash: u32, phash: *const u8, hashalgoid: super::super::Foundation::PWSTR, pcbsig: *mut u32, ppsig: *mut *mut u8) -> ::windows_sys::core::HRESULT;
TransformBlock(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cbindata: u32, pindata: *const u8, pcboutdata: *mut u32, ppoutdata: *mut *mut u8) -> ::windows_sys::core::HRESULT768     pub fn TransformBlock(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cbindata: u32, pindata: *const u8, pcboutdata: *mut u32, ppoutdata: *mut *mut u8) -> ::windows_sys::core::HRESULT;
TransformFinalBlock(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cbindata: u32, pindata: *const u8, pcboutdata: *mut u32, ppoutdata: *mut *mut u8) -> ::windows_sys::core::HRESULT769     pub fn TransformFinalBlock(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cbindata: u32, pindata: *const u8, pcboutdata: *mut u32, ppoutdata: *mut *mut u8) -> ::windows_sys::core::HRESULT;
770     #[cfg(feature = "Win32_Foundation")]
VerifyHash(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cbhash: u32, phash: *const u8, hashalgoid: super::super::Foundation::PWSTR, cbsig: u32, psig: *const u8, pfverified: *mut super::super::Foundation::BOOL) -> ::windows_sys::core::HRESULT771     pub fn VerifyHash(hcrypto: *const INFORMATIONCARD_CRYPTO_HANDLE, cbhash: u32, phash: *const u8, hashalgoid: super::super::Foundation::PWSTR, cbsig: u32, psig: *const u8, pfverified: *mut super::super::Foundation::BOOL) -> ::windows_sys::core::HRESULT;
772 }
773 pub const ALG_CLASS_ALL: u32 = 57344u32;
774 pub const ALG_CLASS_ANY: u32 = 0u32;
775 pub const ALG_CLASS_DATA_ENCRYPT: u32 = 24576u32;
776 pub const ALG_CLASS_HASH: u32 = 32768u32;
777 pub const ALG_CLASS_KEY_EXCHANGE: u32 = 40960u32;
778 pub const ALG_CLASS_MSG_ENCRYPT: u32 = 16384u32;
779 pub const ALG_CLASS_SIGNATURE: u32 = 8192u32;
780 pub const ALG_SID_3DES: u32 = 3u32;
781 pub const ALG_SID_3DES_112: u32 = 9u32;
782 pub const ALG_SID_AES: u32 = 17u32;
783 pub const ALG_SID_AES_128: u32 = 14u32;
784 pub const ALG_SID_AES_192: u32 = 15u32;
785 pub const ALG_SID_AES_256: u32 = 16u32;
786 pub const ALG_SID_AGREED_KEY_ANY: u32 = 3u32;
787 pub const ALG_SID_ANY: u32 = 0u32;
788 pub const ALG_SID_CAST: u32 = 6u32;
789 pub const ALG_SID_CYLINK_MEK: u32 = 12u32;
790 pub const ALG_SID_DES: u32 = 1u32;
791 pub const ALG_SID_DESX: u32 = 4u32;
792 pub const ALG_SID_DH_EPHEM: u32 = 2u32;
793 pub const ALG_SID_DH_SANDF: u32 = 1u32;
794 pub const ALG_SID_DSS_ANY: u32 = 0u32;
795 pub const ALG_SID_DSS_DMS: u32 = 2u32;
796 pub const ALG_SID_DSS_PKCS: u32 = 1u32;
797 pub const ALG_SID_ECDH: u32 = 5u32;
798 pub const ALG_SID_ECDH_EPHEM: u32 = 6u32;
799 pub const ALG_SID_ECDSA: u32 = 3u32;
800 pub const ALG_SID_ECMQV: u32 = 1u32;
801 pub const ALG_SID_EXAMPLE: u32 = 80u32;
802 pub const ALG_SID_HASH_REPLACE_OWF: u32 = 11u32;
803 pub const ALG_SID_HMAC: u32 = 9u32;
804 pub const ALG_SID_IDEA: u32 = 5u32;
805 pub const ALG_SID_KEA: u32 = 4u32;
806 pub const ALG_SID_MAC: u32 = 5u32;
807 pub const ALG_SID_MD2: u32 = 1u32;
808 pub const ALG_SID_MD4: u32 = 2u32;
809 pub const ALG_SID_MD5: u32 = 3u32;
810 pub const ALG_SID_PCT1_MASTER: u32 = 4u32;
811 pub const ALG_SID_RC2: u32 = 2u32;
812 pub const ALG_SID_RC4: u32 = 1u32;
813 pub const ALG_SID_RC5: u32 = 13u32;
814 pub const ALG_SID_RIPEMD: u32 = 6u32;
815 pub const ALG_SID_RIPEMD160: u32 = 7u32;
816 pub const ALG_SID_RSA_ANY: u32 = 0u32;
817 pub const ALG_SID_RSA_ENTRUST: u32 = 3u32;
818 pub const ALG_SID_RSA_MSATWORK: u32 = 2u32;
819 pub const ALG_SID_RSA_PGP: u32 = 4u32;
820 pub const ALG_SID_RSA_PKCS: u32 = 1u32;
821 pub const ALG_SID_SAFERSK128: u32 = 8u32;
822 pub const ALG_SID_SAFERSK64: u32 = 7u32;
823 pub const ALG_SID_SCHANNEL_ENC_KEY: u32 = 7u32;
824 pub const ALG_SID_SCHANNEL_MAC_KEY: u32 = 3u32;
825 pub const ALG_SID_SCHANNEL_MASTER_HASH: u32 = 2u32;
826 pub const ALG_SID_SEAL: u32 = 2u32;
827 pub const ALG_SID_SHA: u32 = 4u32;
828 pub const ALG_SID_SHA1: u32 = 4u32;
829 pub const ALG_SID_SHA_256: u32 = 12u32;
830 pub const ALG_SID_SHA_384: u32 = 13u32;
831 pub const ALG_SID_SHA_512: u32 = 14u32;
832 pub const ALG_SID_SKIPJACK: u32 = 10u32;
833 pub const ALG_SID_SSL2_MASTER: u32 = 5u32;
834 pub const ALG_SID_SSL3SHAMD5: u32 = 8u32;
835 pub const ALG_SID_SSL3_MASTER: u32 = 1u32;
836 pub const ALG_SID_TEK: u32 = 11u32;
837 pub const ALG_SID_THIRDPARTY_ANY: u32 = 0u32;
838 pub const ALG_SID_TLS1PRF: u32 = 10u32;
839 pub const ALG_SID_TLS1_MASTER: u32 = 6u32;
840 pub const ALG_TYPE_ANY: u32 = 0u32;
841 pub const ALG_TYPE_BLOCK: u32 = 1536u32;
842 pub const ALG_TYPE_DH: u32 = 2560u32;
843 pub const ALG_TYPE_DSS: u32 = 512u32;
844 pub const ALG_TYPE_ECDH: u32 = 3584u32;
845 pub const ALG_TYPE_RSA: u32 = 1024u32;
846 pub const ALG_TYPE_SECURECHANNEL: u32 = 3072u32;
847 pub const ALG_TYPE_STREAM: u32 = 2048u32;
848 pub const ALG_TYPE_THIRDPARTY: u32 = 4096u32;
849 pub const AUDIT_CARD_DELETE: ::windows_sys::core::HRESULT = 1074070017i32;
850 pub const AUDIT_CARD_IMPORT: ::windows_sys::core::HRESULT = 1074070018i32;
851 pub const AUDIT_CARD_WRITTEN: ::windows_sys::core::HRESULT = 1074070016i32;
852 pub const AUDIT_SERVICE_IDLE_STOP: ::windows_sys::core::HRESULT = 1074070022i32;
853 pub const AUDIT_STORE_DELETE: ::windows_sys::core::HRESULT = 1074070021i32;
854 pub const AUDIT_STORE_EXPORT: ::windows_sys::core::HRESULT = 1074070020i32;
855 pub const AUDIT_STORE_IMPORT: ::windows_sys::core::HRESULT = 1074070019i32;
856 #[repr(C)]
857 #[cfg(feature = "Win32_Foundation")]
858 pub struct AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA {
859     pub cbSize: u32,
860     pub dwRegPolicySettings: u32,
861     pub pSignerInfo: *mut CMSG_SIGNER_INFO,
862 }
863 #[cfg(feature = "Win32_Foundation")]
864 impl ::core::marker::Copy for AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA {}
865 #[cfg(feature = "Win32_Foundation")]
866 impl ::core::clone::Clone for AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA {
clone(&self) -> Self867     fn clone(&self) -> Self {
868         *self
869     }
870 }
871 #[repr(C)]
872 #[cfg(feature = "Win32_Foundation")]
873 pub struct AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS {
874     pub cbSize: u32,
875     pub fCommercial: super::super::Foundation::BOOL,
876 }
877 #[cfg(feature = "Win32_Foundation")]
878 impl ::core::marker::Copy for AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS {}
879 #[cfg(feature = "Win32_Foundation")]
880 impl ::core::clone::Clone for AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS {
clone(&self) -> Self881     fn clone(&self) -> Self {
882         *self
883     }
884 }
885 #[repr(C)]
886 #[cfg(feature = "Win32_Foundation")]
887 pub struct AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA {
888     pub cbSize: u32,
889     pub dwRegPolicySettings: u32,
890     pub fCommercial: super::super::Foundation::BOOL,
891 }
892 #[cfg(feature = "Win32_Foundation")]
893 impl ::core::marker::Copy for AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA {}
894 #[cfg(feature = "Win32_Foundation")]
895 impl ::core::clone::Clone for AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA {
clone(&self) -> Self896     fn clone(&self) -> Self {
897         *self
898     }
899 }
900 pub const BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_CA_FLAG: u32 = 2147483648u32;
901 pub const BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_END_ENTITY_FLAG: u32 = 1073741824u32;
902 pub const BCRYPTBUFFER_VERSION: u32 = 0u32;
903 pub const BCRYPT_3DES_112_CBC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 369u32 as _;
904 pub const BCRYPT_3DES_112_CFB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 401u32 as _;
905 pub const BCRYPT_3DES_112_ECB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 385u32 as _;
906 pub const BCRYPT_3DES_CBC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 321u32 as _;
907 pub const BCRYPT_3DES_CFB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 353u32 as _;
908 pub const BCRYPT_3DES_ECB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 337u32 as _;
909 pub const BCRYPT_AES_CBC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 417u32 as _;
910 pub const BCRYPT_AES_CCM_ALG_HANDLE: BCRYPT_ALG_HANDLE = 465u32 as _;
911 pub const BCRYPT_AES_CFB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 449u32 as _;
912 pub const BCRYPT_AES_CMAC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 257u32 as _;
913 pub const BCRYPT_AES_ECB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 433u32 as _;
914 pub const BCRYPT_AES_GCM_ALG_HANDLE: BCRYPT_ALG_HANDLE = 481u32 as _;
915 pub const BCRYPT_AES_GMAC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 273u32 as _;
916 #[repr(C)]
917 #[cfg(feature = "Win32_Foundation")]
918 pub struct BCRYPT_ALGORITHM_IDENTIFIER {
919     pub pszName: super::super::Foundation::PWSTR,
920     pub dwClass: u32,
921     pub dwFlags: u32,
922 }
923 #[cfg(feature = "Win32_Foundation")]
924 impl ::core::marker::Copy for BCRYPT_ALGORITHM_IDENTIFIER {}
925 #[cfg(feature = "Win32_Foundation")]
926 impl ::core::clone::Clone for BCRYPT_ALGORITHM_IDENTIFIER {
clone(&self) -> Self927     fn clone(&self) -> Self {
928         *self
929     }
930 }
931 pub type BCRYPT_ALG_HANDLE = isize;
932 #[repr(C)]
933 pub struct BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO {
934     pub cbSize: u32,
935     pub dwInfoVersion: u32,
936     pub pbNonce: *mut u8,
937     pub cbNonce: u32,
938     pub pbAuthData: *mut u8,
939     pub cbAuthData: u32,
940     pub pbTag: *mut u8,
941     pub cbTag: u32,
942     pub pbMacContext: *mut u8,
943     pub cbMacContext: u32,
944     pub cbAAD: u32,
945     pub cbData: u64,
946     pub dwFlags: u32,
947 }
948 impl ::core::marker::Copy for BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO {}
949 impl ::core::clone::Clone for BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO {
clone(&self) -> Self950     fn clone(&self) -> Self {
951         *self
952     }
953 }
954 pub const BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO_VERSION: u32 = 1u32;
955 pub const BCRYPT_AUTH_MODE_CHAIN_CALLS_FLAG: u32 = 1u32;
956 pub const BCRYPT_AUTH_MODE_IN_PROGRESS_FLAG: u32 = 2u32;
957 pub const BCRYPT_BLOCK_PADDING: u32 = 1u32;
958 pub const BCRYPT_BUFFERS_LOCKED_FLAG: u32 = 64u32;
959 pub const BCRYPT_CAPI_AES_FLAG: u32 = 16u32;
960 pub const BCRYPT_CAPI_KDF_ALG_HANDLE: BCRYPT_ALG_HANDLE = 801u32 as _;
961 pub const BCRYPT_CHACHA20_POLY1305_ALG_HANDLE: BCRYPT_ALG_HANDLE = 929u32 as _;
962 pub const BCRYPT_DESX_CBC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 545u32 as _;
963 pub const BCRYPT_DESX_CFB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 577u32 as _;
964 pub const BCRYPT_DESX_ECB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 561u32 as _;
965 pub const BCRYPT_DES_CBC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 497u32 as _;
966 pub const BCRYPT_DES_CFB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 529u32 as _;
967 pub const BCRYPT_DES_ECB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 513u32 as _;
968 pub const BCRYPT_DH_ALG_HANDLE: BCRYPT_ALG_HANDLE = 641u32 as _;
969 #[repr(C)]
970 pub struct BCRYPT_DH_KEY_BLOB {
971     pub dwMagic: BCRYPT_DH_KEY_BLOB_MAGIC,
972     pub cbKey: u32,
973 }
974 impl ::core::marker::Copy for BCRYPT_DH_KEY_BLOB {}
975 impl ::core::clone::Clone for BCRYPT_DH_KEY_BLOB {
clone(&self) -> Self976     fn clone(&self) -> Self {
977         *self
978     }
979 }
980 pub type BCRYPT_DH_KEY_BLOB_MAGIC = u32;
981 pub const BCRYPT_DH_PUBLIC_MAGIC: BCRYPT_DH_KEY_BLOB_MAGIC = 1112557636u32;
982 pub const BCRYPT_DH_PRIVATE_MAGIC: BCRYPT_DH_KEY_BLOB_MAGIC = 1448101956u32;
983 pub const BCRYPT_DH_PARAMETERS_MAGIC: u32 = 1297107012u32;
984 #[repr(C)]
985 pub struct BCRYPT_DH_PARAMETER_HEADER {
986     pub cbLength: u32,
987     pub dwMagic: u32,
988     pub cbKeyLength: u32,
989 }
990 impl ::core::marker::Copy for BCRYPT_DH_PARAMETER_HEADER {}
991 impl ::core::clone::Clone for BCRYPT_DH_PARAMETER_HEADER {
clone(&self) -> Self992     fn clone(&self) -> Self {
993         *self
994     }
995 }
996 pub const BCRYPT_DSA_ALG_HANDLE: BCRYPT_ALG_HANDLE = 721u32 as _;
997 #[repr(C)]
998 pub struct BCRYPT_DSA_KEY_BLOB {
999     pub dwMagic: BCRYPT_DSA_MAGIC,
1000     pub cbKey: u32,
1001     pub Count: [u8; 4],
1002     pub Seed: [u8; 20],
1003     pub q: [u8; 20],
1004 }
1005 impl ::core::marker::Copy for BCRYPT_DSA_KEY_BLOB {}
1006 impl ::core::clone::Clone for BCRYPT_DSA_KEY_BLOB {
clone(&self) -> Self1007     fn clone(&self) -> Self {
1008         *self
1009     }
1010 }
1011 #[repr(C)]
1012 pub struct BCRYPT_DSA_KEY_BLOB_V2 {
1013     pub dwMagic: BCRYPT_DSA_MAGIC,
1014     pub cbKey: u32,
1015     pub hashAlgorithm: HASHALGORITHM_ENUM,
1016     pub standardVersion: DSAFIPSVERSION_ENUM,
1017     pub cbSeedLength: u32,
1018     pub cbGroupSize: u32,
1019     pub Count: [u8; 4],
1020 }
1021 impl ::core::marker::Copy for BCRYPT_DSA_KEY_BLOB_V2 {}
1022 impl ::core::clone::Clone for BCRYPT_DSA_KEY_BLOB_V2 {
clone(&self) -> Self1023     fn clone(&self) -> Self {
1024         *self
1025     }
1026 }
1027 pub type BCRYPT_DSA_MAGIC = u32;
1028 pub const BCRYPT_DSA_PUBLIC_MAGIC: BCRYPT_DSA_MAGIC = 1112560452u32;
1029 pub const BCRYPT_DSA_PRIVATE_MAGIC: BCRYPT_DSA_MAGIC = 1448104772u32;
1030 pub const BCRYPT_DSA_PARAMETERS_MAGIC: u32 = 1297109828u32;
1031 pub const BCRYPT_DSA_PARAMETERS_MAGIC_V2: u32 = 843927620u32;
1032 #[repr(C)]
1033 pub struct BCRYPT_DSA_PARAMETER_HEADER {
1034     pub cbLength: u32,
1035     pub dwMagic: u32,
1036     pub cbKeyLength: u32,
1037     pub Count: [u8; 4],
1038     pub Seed: [u8; 20],
1039     pub q: [u8; 20],
1040 }
1041 impl ::core::marker::Copy for BCRYPT_DSA_PARAMETER_HEADER {}
1042 impl ::core::clone::Clone for BCRYPT_DSA_PARAMETER_HEADER {
clone(&self) -> Self1043     fn clone(&self) -> Self {
1044         *self
1045     }
1046 }
1047 #[repr(C)]
1048 pub struct BCRYPT_DSA_PARAMETER_HEADER_V2 {
1049     pub cbLength: u32,
1050     pub dwMagic: u32,
1051     pub cbKeyLength: u32,
1052     pub hashAlgorithm: HASHALGORITHM_ENUM,
1053     pub standardVersion: DSAFIPSVERSION_ENUM,
1054     pub cbSeedLength: u32,
1055     pub cbGroupSize: u32,
1056     pub Count: [u8; 4],
1057 }
1058 impl ::core::marker::Copy for BCRYPT_DSA_PARAMETER_HEADER_V2 {}
1059 impl ::core::clone::Clone for BCRYPT_DSA_PARAMETER_HEADER_V2 {
clone(&self) -> Self1060     fn clone(&self) -> Self {
1061         *self
1062     }
1063 }
1064 pub const BCRYPT_DSA_PRIVATE_MAGIC_V2: u32 = 844517444u32;
1065 pub const BCRYPT_DSA_PUBLIC_MAGIC_V2: u32 = 843206724u32;
1066 #[repr(C)]
1067 pub struct BCRYPT_ECCFULLKEY_BLOB {
1068     pub dwMagic: u32,
1069     pub dwVersion: u32,
1070     pub dwCurveType: ECC_CURVE_TYPE_ENUM,
1071     pub dwCurveGenerationAlgId: ECC_CURVE_ALG_ID_ENUM,
1072     pub cbFieldLength: u32,
1073     pub cbSubgroupOrder: u32,
1074     pub cbCofactor: u32,
1075     pub cbSeed: u32,
1076 }
1077 impl ::core::marker::Copy for BCRYPT_ECCFULLKEY_BLOB {}
1078 impl ::core::clone::Clone for BCRYPT_ECCFULLKEY_BLOB {
clone(&self) -> Self1079     fn clone(&self) -> Self {
1080         *self
1081     }
1082 }
1083 #[repr(C)]
1084 pub struct BCRYPT_ECCKEY_BLOB {
1085     pub dwMagic: u32,
1086     pub cbKey: u32,
1087 }
1088 impl ::core::marker::Copy for BCRYPT_ECCKEY_BLOB {}
1089 impl ::core::clone::Clone for BCRYPT_ECCKEY_BLOB {
clone(&self) -> Self1090     fn clone(&self) -> Self {
1091         *self
1092     }
1093 }
1094 #[repr(C)]
1095 #[cfg(feature = "Win32_Foundation")]
1096 pub struct BCRYPT_ECC_CURVE_NAMES {
1097     pub dwEccCurveNames: u32,
1098     pub pEccCurveNames: *mut super::super::Foundation::PWSTR,
1099 }
1100 #[cfg(feature = "Win32_Foundation")]
1101 impl ::core::marker::Copy for BCRYPT_ECC_CURVE_NAMES {}
1102 #[cfg(feature = "Win32_Foundation")]
1103 impl ::core::clone::Clone for BCRYPT_ECC_CURVE_NAMES {
clone(&self) -> Self1104     fn clone(&self) -> Self {
1105         *self
1106     }
1107 }
1108 pub const BCRYPT_ECC_FULLKEY_BLOB_V1: u32 = 1u32;
1109 pub const BCRYPT_ECC_PARAMETERS_MAGIC: u32 = 1346585413u32;
1110 pub const BCRYPT_ECDH_ALG_HANDLE: BCRYPT_ALG_HANDLE = 657u32 as _;
1111 pub const BCRYPT_ECDH_P256_ALG_HANDLE: BCRYPT_ALG_HANDLE = 673u32 as _;
1112 pub const BCRYPT_ECDH_P384_ALG_HANDLE: BCRYPT_ALG_HANDLE = 689u32 as _;
1113 pub const BCRYPT_ECDH_P521_ALG_HANDLE: BCRYPT_ALG_HANDLE = 705u32 as _;
1114 pub const BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC: u32 = 1447772997u32;
1115 pub const BCRYPT_ECDH_PRIVATE_P256_MAGIC: u32 = 843793221u32;
1116 pub const BCRYPT_ECDH_PRIVATE_P384_MAGIC: u32 = 877347653u32;
1117 pub const BCRYPT_ECDH_PRIVATE_P521_MAGIC: u32 = 910902085u32;
1118 pub const BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC: u32 = 1347109701u32;
1119 pub const BCRYPT_ECDH_PUBLIC_P256_MAGIC: u32 = 827016005u32;
1120 pub const BCRYPT_ECDH_PUBLIC_P384_MAGIC: u32 = 860570437u32;
1121 pub const BCRYPT_ECDH_PUBLIC_P521_MAGIC: u32 = 894124869u32;
1122 pub const BCRYPT_ECDSA_ALG_HANDLE: BCRYPT_ALG_HANDLE = 241u32 as _;
1123 pub const BCRYPT_ECDSA_P256_ALG_HANDLE: BCRYPT_ALG_HANDLE = 737u32 as _;
1124 pub const BCRYPT_ECDSA_P384_ALG_HANDLE: BCRYPT_ALG_HANDLE = 753u32 as _;
1125 pub const BCRYPT_ECDSA_P521_ALG_HANDLE: BCRYPT_ALG_HANDLE = 769u32 as _;
1126 pub const BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC: u32 = 1447314245u32;
1127 pub const BCRYPT_ECDSA_PRIVATE_P256_MAGIC: u32 = 844317509u32;
1128 pub const BCRYPT_ECDSA_PRIVATE_P384_MAGIC: u32 = 877871941u32;
1129 pub const BCRYPT_ECDSA_PRIVATE_P521_MAGIC: u32 = 911426373u32;
1130 pub const BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC: u32 = 1346650949u32;
1131 pub const BCRYPT_ECDSA_PUBLIC_P256_MAGIC: u32 = 827540293u32;
1132 pub const BCRYPT_ECDSA_PUBLIC_P384_MAGIC: u32 = 861094725u32;
1133 pub const BCRYPT_ECDSA_PUBLIC_P521_MAGIC: u32 = 894649157u32;
1134 pub const BCRYPT_ENABLE_INCOMPATIBLE_FIPS_CHECKS: u32 = 256u32;
1135 pub const BCRYPT_EXTENDED_KEYSIZE: u32 = 128u32;
1136 pub const BCRYPT_GENERATE_IV: u32 = 32u32;
1137 pub const BCRYPT_HASH_INTERFACE_MAJORVERSION_2: u32 = 2u32;
1138 pub type BCRYPT_HASH_OPERATION_TYPE = i32;
1139 pub const BCRYPT_HASH_OPERATION_HASH_DATA: BCRYPT_HASH_OPERATION_TYPE = 1i32;
1140 pub const BCRYPT_HASH_OPERATION_FINISH_HASH: BCRYPT_HASH_OPERATION_TYPE = 2i32;
1141 pub const BCRYPT_HKDF_ALG_HANDLE: BCRYPT_ALG_HANDLE = 913u32 as _;
1142 pub const BCRYPT_HMAC_MD2_ALG_HANDLE: BCRYPT_ALG_HANDLE = 289u32 as _;
1143 pub const BCRYPT_HMAC_MD4_ALG_HANDLE: BCRYPT_ALG_HANDLE = 305u32 as _;
1144 pub const BCRYPT_HMAC_MD5_ALG_HANDLE: BCRYPT_ALG_HANDLE = 145u32 as _;
1145 pub const BCRYPT_HMAC_SHA1_ALG_HANDLE: BCRYPT_ALG_HANDLE = 161u32 as _;
1146 pub const BCRYPT_HMAC_SHA256_ALG_HANDLE: BCRYPT_ALG_HANDLE = 177u32 as _;
1147 pub const BCRYPT_HMAC_SHA384_ALG_HANDLE: BCRYPT_ALG_HANDLE = 193u32 as _;
1148 pub const BCRYPT_HMAC_SHA512_ALG_HANDLE: BCRYPT_ALG_HANDLE = 209u32 as _;
1149 pub type BCRYPT_INTERFACE = u32;
1150 pub const BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE: BCRYPT_INTERFACE = 3u32;
1151 pub const BCRYPT_CIPHER_INTERFACE: BCRYPT_INTERFACE = 1u32;
1152 pub const BCRYPT_HASH_INTERFACE: BCRYPT_INTERFACE = 2u32;
1153 pub const BCRYPT_RNG_INTERFACE: BCRYPT_INTERFACE = 6u32;
1154 pub const BCRYPT_SECRET_AGREEMENT_INTERFACE: BCRYPT_INTERFACE = 4u32;
1155 pub const BCRYPT_SIGNATURE_INTERFACE: BCRYPT_INTERFACE = 5u32;
1156 pub const NCRYPT_KEY_STORAGE_INTERFACE: BCRYPT_INTERFACE = 65537u32;
1157 pub const NCRYPT_SCHANNEL_INTERFACE: BCRYPT_INTERFACE = 65538u32;
1158 pub const NCRYPT_SCHANNEL_SIGNATURE_INTERFACE: BCRYPT_INTERFACE = 65539u32;
1159 #[repr(C)]
1160 pub struct BCRYPT_INTERFACE_VERSION {
1161     pub MajorVersion: u16,
1162     pub MinorVersion: u16,
1163 }
1164 impl ::core::marker::Copy for BCRYPT_INTERFACE_VERSION {}
1165 impl ::core::clone::Clone for BCRYPT_INTERFACE_VERSION {
clone(&self) -> Self1166     fn clone(&self) -> Self {
1167         *self
1168     }
1169 }
1170 #[repr(C)]
1171 pub struct BCRYPT_KEY_BLOB {
1172     pub Magic: u32,
1173 }
1174 impl ::core::marker::Copy for BCRYPT_KEY_BLOB {}
1175 impl ::core::clone::Clone for BCRYPT_KEY_BLOB {
clone(&self) -> Self1176     fn clone(&self) -> Self {
1177         *self
1178     }
1179 }
1180 #[repr(C)]
1181 pub struct BCRYPT_KEY_DATA_BLOB_HEADER {
1182     pub dwMagic: u32,
1183     pub dwVersion: u32,
1184     pub cbKeyData: u32,
1185 }
1186 impl ::core::marker::Copy for BCRYPT_KEY_DATA_BLOB_HEADER {}
1187 impl ::core::clone::Clone for BCRYPT_KEY_DATA_BLOB_HEADER {
clone(&self) -> Self1188     fn clone(&self) -> Self {
1189         *self
1190     }
1191 }
1192 pub const BCRYPT_KEY_DATA_BLOB_MAGIC: u32 = 1296188491u32;
1193 pub const BCRYPT_KEY_DATA_BLOB_VERSION1: u32 = 1u32;
1194 pub const BCRYPT_KEY_DERIVATION_INTERFACE: u32 = 7u32;
1195 pub const BCRYPT_KEY_DERIVATION_OPERATION: u32 = 64u32;
1196 pub type BCRYPT_KEY_HANDLE = isize;
1197 #[repr(C)]
1198 pub struct BCRYPT_KEY_LENGTHS_STRUCT {
1199     pub dwMinLength: u32,
1200     pub dwMaxLength: u32,
1201     pub dwIncrement: u32,
1202 }
1203 impl ::core::marker::Copy for BCRYPT_KEY_LENGTHS_STRUCT {}
1204 impl ::core::clone::Clone for BCRYPT_KEY_LENGTHS_STRUCT {
clone(&self) -> Self1205     fn clone(&self) -> Self {
1206         *self
1207     }
1208 }
1209 pub const BCRYPT_KEY_VALIDATION_RANGE: u32 = 16u32;
1210 pub const BCRYPT_KEY_VALIDATION_RANGE_AND_ORDER: u32 = 24u32;
1211 pub const BCRYPT_KEY_VALIDATION_REGENERATE: u32 = 32u32;
1212 pub const BCRYPT_MD2_ALG_HANDLE: BCRYPT_ALG_HANDLE = 1u32 as _;
1213 pub const BCRYPT_MD4_ALG_HANDLE: BCRYPT_ALG_HANDLE = 17u32 as _;
1214 pub const BCRYPT_MD5_ALG_HANDLE: BCRYPT_ALG_HANDLE = 33u32 as _;
1215 pub const BCRYPT_MULTI_FLAG: u32 = 64u32;
1216 #[repr(C)]
1217 pub struct BCRYPT_MULTI_HASH_OPERATION {
1218     pub iHash: u32,
1219     pub hashOperation: BCRYPT_HASH_OPERATION_TYPE,
1220     pub pbBuffer: *mut u8,
1221     pub cbBuffer: u32,
1222 }
1223 impl ::core::marker::Copy for BCRYPT_MULTI_HASH_OPERATION {}
1224 impl ::core::clone::Clone for BCRYPT_MULTI_HASH_OPERATION {
clone(&self) -> Self1225     fn clone(&self) -> Self {
1226         *self
1227     }
1228 }
1229 #[repr(C)]
1230 pub struct BCRYPT_MULTI_OBJECT_LENGTH_STRUCT {
1231     pub cbPerObject: u32,
1232     pub cbPerElement: u32,
1233 }
1234 impl ::core::marker::Copy for BCRYPT_MULTI_OBJECT_LENGTH_STRUCT {}
1235 impl ::core::clone::Clone for BCRYPT_MULTI_OBJECT_LENGTH_STRUCT {
clone(&self) -> Self1236     fn clone(&self) -> Self {
1237         *self
1238     }
1239 }
1240 pub type BCRYPT_MULTI_OPERATION_TYPE = i32;
1241 pub const BCRYPT_OPERATION_TYPE_HASH: BCRYPT_MULTI_OPERATION_TYPE = 1i32;
1242 pub const BCRYPT_NO_KEY_VALIDATION: u32 = 8u32;
1243 #[repr(C)]
1244 #[cfg(feature = "Win32_Foundation")]
1245 pub struct BCRYPT_OAEP_PADDING_INFO {
1246     pub pszAlgId: super::super::Foundation::PWSTR,
1247     pub pbLabel: *mut u8,
1248     pub cbLabel: u32,
1249 }
1250 #[cfg(feature = "Win32_Foundation")]
1251 impl ::core::marker::Copy for BCRYPT_OAEP_PADDING_INFO {}
1252 #[cfg(feature = "Win32_Foundation")]
1253 impl ::core::clone::Clone for BCRYPT_OAEP_PADDING_INFO {
clone(&self) -> Self1254     fn clone(&self) -> Self {
1255         *self
1256     }
1257 }
1258 pub const BCRYPT_OBJECT_ALIGNMENT: u32 = 16u32;
1259 #[repr(C)]
1260 pub struct BCRYPT_OID {
1261     pub cbOID: u32,
1262     pub pbOID: *mut u8,
1263 }
1264 impl ::core::marker::Copy for BCRYPT_OID {}
1265 impl ::core::clone::Clone for BCRYPT_OID {
clone(&self) -> Self1266     fn clone(&self) -> Self {
1267         *self
1268     }
1269 }
1270 #[repr(C)]
1271 pub struct BCRYPT_OID_LIST {
1272     pub dwOIDCount: u32,
1273     pub pOIDs: *mut BCRYPT_OID,
1274 }
1275 impl ::core::marker::Copy for BCRYPT_OID_LIST {}
1276 impl ::core::clone::Clone for BCRYPT_OID_LIST {
clone(&self) -> Self1277     fn clone(&self) -> Self {
1278         *self
1279     }
1280 }
1281 pub type BCRYPT_OPEN_ALGORITHM_PROVIDER_FLAGS = u32;
1282 pub const BCRYPT_ALG_HANDLE_HMAC_FLAG: BCRYPT_OPEN_ALGORITHM_PROVIDER_FLAGS = 8u32;
1283 pub const BCRYPT_PROV_DISPATCH: BCRYPT_OPEN_ALGORITHM_PROVIDER_FLAGS = 1u32;
1284 pub const BCRYPT_HASH_REUSABLE_FLAG: BCRYPT_OPEN_ALGORITHM_PROVIDER_FLAGS = 32u32;
1285 pub type BCRYPT_OPERATION = u32;
1286 pub const BCRYPT_CIPHER_OPERATION: BCRYPT_OPERATION = 1u32;
1287 pub const BCRYPT_HASH_OPERATION: BCRYPT_OPERATION = 2u32;
1288 pub const BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION: BCRYPT_OPERATION = 4u32;
1289 pub const BCRYPT_SECRET_AGREEMENT_OPERATION: BCRYPT_OPERATION = 8u32;
1290 pub const BCRYPT_SIGNATURE_OPERATION: BCRYPT_OPERATION = 16u32;
1291 pub const BCRYPT_RNG_OPERATION: BCRYPT_OPERATION = 32u32;
1292 pub const BCRYPT_PAD_PKCS1_OPTIONAL_HASH_OID: u32 = 16u32;
1293 pub const BCRYPT_PBKDF2_ALG_HANDLE: BCRYPT_ALG_HANDLE = 817u32 as _;
1294 #[repr(C)]
1295 #[cfg(feature = "Win32_Foundation")]
1296 pub struct BCRYPT_PKCS1_PADDING_INFO {
1297     pub pszAlgId: super::super::Foundation::PWSTR,
1298 }
1299 #[cfg(feature = "Win32_Foundation")]
1300 impl ::core::marker::Copy for BCRYPT_PKCS1_PADDING_INFO {}
1301 #[cfg(feature = "Win32_Foundation")]
1302 impl ::core::clone::Clone for BCRYPT_PKCS1_PADDING_INFO {
clone(&self) -> Self1303     fn clone(&self) -> Self {
1304         *self
1305     }
1306 }
1307 pub const BCRYPT_PRIVATE_KEY_FLAG: u32 = 2u32;
1308 #[repr(C)]
1309 #[cfg(feature = "Win32_Foundation")]
1310 pub struct BCRYPT_PROVIDER_NAME {
1311     pub pszProviderName: super::super::Foundation::PWSTR,
1312 }
1313 #[cfg(feature = "Win32_Foundation")]
1314 impl ::core::marker::Copy for BCRYPT_PROVIDER_NAME {}
1315 #[cfg(feature = "Win32_Foundation")]
1316 impl ::core::clone::Clone for BCRYPT_PROVIDER_NAME {
clone(&self) -> Self1317     fn clone(&self) -> Self {
1318         *self
1319     }
1320 }
1321 #[repr(C)]
1322 #[cfg(feature = "Win32_Foundation")]
1323 pub struct BCRYPT_PSS_PADDING_INFO {
1324     pub pszAlgId: super::super::Foundation::PWSTR,
1325     pub cbSalt: u32,
1326 }
1327 #[cfg(feature = "Win32_Foundation")]
1328 impl ::core::marker::Copy for BCRYPT_PSS_PADDING_INFO {}
1329 #[cfg(feature = "Win32_Foundation")]
1330 impl ::core::clone::Clone for BCRYPT_PSS_PADDING_INFO {
clone(&self) -> Self1331     fn clone(&self) -> Self {
1332         *self
1333     }
1334 }
1335 pub const BCRYPT_PUBLIC_KEY_FLAG: u32 = 1u32;
1336 pub type BCRYPT_QUERY_PROVIDER_MODE = u32;
1337 pub const CRYPT_ANY: BCRYPT_QUERY_PROVIDER_MODE = 4u32;
1338 pub const CRYPT_UM: BCRYPT_QUERY_PROVIDER_MODE = 1u32;
1339 pub const CRYPT_KM: BCRYPT_QUERY_PROVIDER_MODE = 2u32;
1340 pub const CRYPT_MM: BCRYPT_QUERY_PROVIDER_MODE = 3u32;
1341 pub const BCRYPT_RC2_CBC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 593u32 as _;
1342 pub const BCRYPT_RC2_CFB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 625u32 as _;
1343 pub const BCRYPT_RC2_ECB_ALG_HANDLE: BCRYPT_ALG_HANDLE = 609u32 as _;
1344 pub const BCRYPT_RC4_ALG_HANDLE: BCRYPT_ALG_HANDLE = 113u32 as _;
1345 pub type BCRYPT_RESOLVE_PROVIDERS_FLAGS = u32;
1346 pub const CRYPT_ALL_FUNCTIONS: BCRYPT_RESOLVE_PROVIDERS_FLAGS = 1u32;
1347 pub const CRYPT_ALL_PROVIDERS: BCRYPT_RESOLVE_PROVIDERS_FLAGS = 2u32;
1348 pub const BCRYPT_RNG_ALG_HANDLE: BCRYPT_ALG_HANDLE = 129u32 as _;
1349 pub const BCRYPT_RNG_USE_ENTROPY_IN_BUFFER: u32 = 1u32;
1350 #[repr(C)]
1351 pub struct BCRYPT_RSAKEY_BLOB {
1352     pub Magic: BCRYPT_RSAKEY_BLOB_MAGIC,
1353     pub BitLength: u32,
1354     pub cbPublicExp: u32,
1355     pub cbModulus: u32,
1356     pub cbPrime1: u32,
1357     pub cbPrime2: u32,
1358 }
1359 impl ::core::marker::Copy for BCRYPT_RSAKEY_BLOB {}
1360 impl ::core::clone::Clone for BCRYPT_RSAKEY_BLOB {
clone(&self) -> Self1361     fn clone(&self) -> Self {
1362         *self
1363     }
1364 }
1365 pub type BCRYPT_RSAKEY_BLOB_MAGIC = u32;
1366 pub const BCRYPT_RSAPUBLIC_MAGIC: BCRYPT_RSAKEY_BLOB_MAGIC = 826364754u32;
1367 pub const BCRYPT_RSAPRIVATE_MAGIC: BCRYPT_RSAKEY_BLOB_MAGIC = 843141970u32;
1368 pub const BCRYPT_RSAFULLPRIVATE_MAGIC: BCRYPT_RSAKEY_BLOB_MAGIC = 859919186u32;
1369 pub const BCRYPT_RSA_ALG_HANDLE: BCRYPT_ALG_HANDLE = 225u32 as _;
1370 pub const BCRYPT_RSA_SIGN_ALG_HANDLE: BCRYPT_ALG_HANDLE = 785u32 as _;
1371 pub const BCRYPT_SHA1_ALG_HANDLE: BCRYPT_ALG_HANDLE = 49u32 as _;
1372 pub const BCRYPT_SHA256_ALG_HANDLE: BCRYPT_ALG_HANDLE = 65u32 as _;
1373 pub const BCRYPT_SHA384_ALG_HANDLE: BCRYPT_ALG_HANDLE = 81u32 as _;
1374 pub const BCRYPT_SHA512_ALG_HANDLE: BCRYPT_ALG_HANDLE = 97u32 as _;
1375 pub const BCRYPT_SP800108_CTR_HMAC_ALG_HANDLE: BCRYPT_ALG_HANDLE = 833u32 as _;
1376 pub const BCRYPT_SP80056A_CONCAT_ALG_HANDLE: BCRYPT_ALG_HANDLE = 849u32 as _;
1377 pub const BCRYPT_SUPPORTED_PAD_OAEP: u32 = 8u32;
1378 pub const BCRYPT_SUPPORTED_PAD_PKCS1_ENC: u32 = 2u32;
1379 pub const BCRYPT_SUPPORTED_PAD_PKCS1_SIG: u32 = 4u32;
1380 pub const BCRYPT_SUPPORTED_PAD_PSS: u32 = 16u32;
1381 pub const BCRYPT_SUPPORTED_PAD_ROUTER: u32 = 1u32;
1382 pub type BCRYPT_TABLE = u32;
1383 pub const CRYPT_LOCAL: BCRYPT_TABLE = 1u32;
1384 pub const CRYPT_DOMAIN: BCRYPT_TABLE = 2u32;
1385 pub const BCRYPT_TLS1_1_KDF_ALG_HANDLE: BCRYPT_ALG_HANDLE = 865u32 as _;
1386 pub const BCRYPT_TLS1_2_KDF_ALG_HANDLE: BCRYPT_ALG_HANDLE = 881u32 as _;
1387 pub const BCRYPT_TLS_CBC_HMAC_VERIFY_FLAG: u32 = 4u32;
1388 pub const BCRYPT_USE_SYSTEM_PREFERRED_RNG: u32 = 2u32;
1389 pub const BCRYPT_XTS_AES_ALG_HANDLE: BCRYPT_ALG_HANDLE = 897u32 as _;
1390 #[repr(C)]
1391 pub struct BCryptBuffer {
1392     pub cbBuffer: u32,
1393     pub BufferType: u32,
1394     pub pvBuffer: *mut ::core::ffi::c_void,
1395 }
1396 impl ::core::marker::Copy for BCryptBuffer {}
1397 impl ::core::clone::Clone for BCryptBuffer {
clone(&self) -> Self1398     fn clone(&self) -> Self {
1399         *self
1400     }
1401 }
1402 #[repr(C)]
1403 pub struct BCryptBufferDesc {
1404     pub ulVersion: u32,
1405     pub cBuffers: u32,
1406     pub pBuffers: *mut BCryptBuffer,
1407 }
1408 impl ::core::marker::Copy for BCryptBufferDesc {}
1409 impl ::core::clone::Clone for BCryptBufferDesc {
clone(&self) -> Self1410     fn clone(&self) -> Self {
1411         *self
1412     }
1413 }
1414 pub const CALG_OID_INFO_CNG_ONLY: u32 = 4294967295u32;
1415 pub const CALG_OID_INFO_PARAMETERS: u32 = 4294967294u32;
1416 pub type CASetupProperty = i32;
1417 pub const ENUM_SETUPPROP_INVALID: CASetupProperty = -1i32;
1418 pub const ENUM_SETUPPROP_CATYPE: CASetupProperty = 0i32;
1419 pub const ENUM_SETUPPROP_CAKEYINFORMATION: CASetupProperty = 1i32;
1420 pub const ENUM_SETUPPROP_INTERACTIVE: CASetupProperty = 2i32;
1421 pub const ENUM_SETUPPROP_CANAME: CASetupProperty = 3i32;
1422 pub const ENUM_SETUPPROP_CADSSUFFIX: CASetupProperty = 4i32;
1423 pub const ENUM_SETUPPROP_VALIDITYPERIOD: CASetupProperty = 5i32;
1424 pub const ENUM_SETUPPROP_VALIDITYPERIODUNIT: CASetupProperty = 6i32;
1425 pub const ENUM_SETUPPROP_EXPIRATIONDATE: CASetupProperty = 7i32;
1426 pub const ENUM_SETUPPROP_PRESERVEDATABASE: CASetupProperty = 8i32;
1427 pub const ENUM_SETUPPROP_DATABASEDIRECTORY: CASetupProperty = 9i32;
1428 pub const ENUM_SETUPPROP_LOGDIRECTORY: CASetupProperty = 10i32;
1429 pub const ENUM_SETUPPROP_SHAREDFOLDER: CASetupProperty = 11i32;
1430 pub const ENUM_SETUPPROP_PARENTCAMACHINE: CASetupProperty = 12i32;
1431 pub const ENUM_SETUPPROP_PARENTCANAME: CASetupProperty = 13i32;
1432 pub const ENUM_SETUPPROP_REQUESTFILE: CASetupProperty = 14i32;
1433 pub const ENUM_SETUPPROP_WEBCAMACHINE: CASetupProperty = 15i32;
1434 pub const ENUM_SETUPPROP_WEBCANAME: CASetupProperty = 16i32;
1435 pub const CCertSrvSetup: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1436     data1: 2518620175,
1437     data2: 62812,
1438     data3: 16701,
1439     data4: [169, 179, 125, 42, 244, 216, 228, 47],
1440 };
1441 pub const CCertSrvSetupKeyInformation: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1442     data1: 943143174,
1443     data2: 21555,
1444     data3: 17971,
1445     data4: [176, 251, 41, 183, 231, 130, 98, 225],
1446 };
1447 pub const CCertificateEnrollmentPolicyServerSetup: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
1448     data1: 2950887986,
1449     data2: 16817,
1450     data3: 17821,
1451     data4: [165, 222, 73, 173, 216, 167, 33, 130],
1452 };
1453 pub const CCertificateEnrollmentServerSetup: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 2567107516, data2: 34991, data3: 19704, data4: [174, 98, 113, 64, 83, 21, 82, 182] };
1454 pub type CEPSetupProperty = i32;
1455 pub const ENUM_CEPSETUPPROP_AUTHENTICATION: CEPSetupProperty = 0i32;
1456 pub const ENUM_CEPSETUPPROP_SSLCERTHASH: CEPSetupProperty = 1i32;
1457 pub const ENUM_CEPSETUPPROP_URL: CEPSetupProperty = 2i32;
1458 pub const ENUM_CEPSETUPPROP_KEYBASED_RENEWAL: CEPSetupProperty = 3i32;
1459 #[repr(C)]
1460 pub struct CERTIFICATE_CHAIN_BLOB {
1461     pub certCount: u32,
1462     pub rawCertificates: *mut CRYPTOAPI_BLOB,
1463 }
1464 impl ::core::marker::Copy for CERTIFICATE_CHAIN_BLOB {}
1465 impl ::core::clone::Clone for CERTIFICATE_CHAIN_BLOB {
clone(&self) -> Self1466     fn clone(&self) -> Self {
1467         *self
1468     }
1469 }
1470 #[repr(C)]
1471 #[cfg(feature = "Win32_Foundation")]
1472 pub struct CERT_ACCESS_DESCRIPTION {
1473     pub pszAccessMethod: super::super::Foundation::PSTR,
1474     pub AccessLocation: CERT_ALT_NAME_ENTRY,
1475 }
1476 #[cfg(feature = "Win32_Foundation")]
1477 impl ::core::marker::Copy for CERT_ACCESS_DESCRIPTION {}
1478 #[cfg(feature = "Win32_Foundation")]
1479 impl ::core::clone::Clone for CERT_ACCESS_DESCRIPTION {
clone(&self) -> Self1480     fn clone(&self) -> Self {
1481         *self
1482     }
1483 }
1484 pub const CERT_ACCESS_STATE_GP_SYSTEM_STORE_FLAG: u32 = 8u32;
1485 pub const CERT_ACCESS_STATE_LM_SYSTEM_STORE_FLAG: u32 = 4u32;
1486 pub const CERT_ACCESS_STATE_PROP_ID: u32 = 14u32;
1487 pub const CERT_ACCESS_STATE_SHARED_USER_FLAG: u32 = 16u32;
1488 pub const CERT_ACCESS_STATE_SYSTEM_STORE_FLAG: u32 = 2u32;
1489 pub const CERT_ACCESS_STATE_WRITE_PERSIST_FLAG: u32 = 1u32;
1490 pub const CERT_AIA_URL_RETRIEVED_PROP_ID: u32 = 67u32;
1491 pub const CERT_ALT_NAME_EDI_PARTY_NAME: u32 = 6u32;
1492 #[repr(C)]
1493 #[cfg(feature = "Win32_Foundation")]
1494 pub struct CERT_ALT_NAME_ENTRY {
1495     pub dwAltNameChoice: u32,
1496     pub Anonymous: CERT_ALT_NAME_ENTRY_0,
1497 }
1498 #[cfg(feature = "Win32_Foundation")]
1499 impl ::core::marker::Copy for CERT_ALT_NAME_ENTRY {}
1500 #[cfg(feature = "Win32_Foundation")]
1501 impl ::core::clone::Clone for CERT_ALT_NAME_ENTRY {
clone(&self) -> Self1502     fn clone(&self) -> Self {
1503         *self
1504     }
1505 }
1506 #[repr(C)]
1507 #[cfg(feature = "Win32_Foundation")]
1508 pub union CERT_ALT_NAME_ENTRY_0 {
1509     pub pOtherName: *mut CERT_OTHER_NAME,
1510     pub pwszRfc822Name: super::super::Foundation::PWSTR,
1511     pub pwszDNSName: super::super::Foundation::PWSTR,
1512     pub DirectoryName: CRYPTOAPI_BLOB,
1513     pub pwszURL: super::super::Foundation::PWSTR,
1514     pub IPAddress: CRYPTOAPI_BLOB,
1515     pub pszRegisteredID: super::super::Foundation::PSTR,
1516 }
1517 #[cfg(feature = "Win32_Foundation")]
1518 impl ::core::marker::Copy for CERT_ALT_NAME_ENTRY_0 {}
1519 #[cfg(feature = "Win32_Foundation")]
1520 impl ::core::clone::Clone for CERT_ALT_NAME_ENTRY_0 {
clone(&self) -> Self1521     fn clone(&self) -> Self {
1522         *self
1523     }
1524 }
1525 pub const CERT_ALT_NAME_ENTRY_ERR_INDEX_MASK: u32 = 255u32;
1526 pub const CERT_ALT_NAME_ENTRY_ERR_INDEX_SHIFT: u32 = 16u32;
1527 #[repr(C)]
1528 #[cfg(feature = "Win32_Foundation")]
1529 pub struct CERT_ALT_NAME_INFO {
1530     pub cAltEntry: u32,
1531     pub rgAltEntry: *mut CERT_ALT_NAME_ENTRY,
1532 }
1533 #[cfg(feature = "Win32_Foundation")]
1534 impl ::core::marker::Copy for CERT_ALT_NAME_INFO {}
1535 #[cfg(feature = "Win32_Foundation")]
1536 impl ::core::clone::Clone for CERT_ALT_NAME_INFO {
clone(&self) -> Self1537     fn clone(&self) -> Self {
1538         *self
1539     }
1540 }
1541 pub const CERT_ALT_NAME_VALUE_ERR_INDEX_MASK: u32 = 65535u32;
1542 pub const CERT_ALT_NAME_VALUE_ERR_INDEX_SHIFT: u32 = 0u32;
1543 pub const CERT_ALT_NAME_X400_ADDRESS: u32 = 4u32;
1544 pub const CERT_ARCHIVED_KEY_HASH_PROP_ID: u32 = 65u32;
1545 pub const CERT_ARCHIVED_PROP_ID: u32 = 19u32;
1546 #[repr(C)]
1547 #[cfg(feature = "Win32_Foundation")]
1548 pub struct CERT_AUTHORITY_INFO_ACCESS {
1549     pub cAccDescr: u32,
1550     pub rgAccDescr: *mut CERT_ACCESS_DESCRIPTION,
1551 }
1552 #[cfg(feature = "Win32_Foundation")]
1553 impl ::core::marker::Copy for CERT_AUTHORITY_INFO_ACCESS {}
1554 #[cfg(feature = "Win32_Foundation")]
1555 impl ::core::clone::Clone for CERT_AUTHORITY_INFO_ACCESS {
clone(&self) -> Self1556     fn clone(&self) -> Self {
1557         *self
1558     }
1559 }
1560 pub const CERT_AUTHORITY_INFO_ACCESS_PROP_ID: u32 = 68u32;
1561 #[repr(C)]
1562 #[cfg(feature = "Win32_Foundation")]
1563 pub struct CERT_AUTHORITY_KEY_ID2_INFO {
1564     pub KeyId: CRYPTOAPI_BLOB,
1565     pub AuthorityCertIssuer: CERT_ALT_NAME_INFO,
1566     pub AuthorityCertSerialNumber: CRYPTOAPI_BLOB,
1567 }
1568 #[cfg(feature = "Win32_Foundation")]
1569 impl ::core::marker::Copy for CERT_AUTHORITY_KEY_ID2_INFO {}
1570 #[cfg(feature = "Win32_Foundation")]
1571 impl ::core::clone::Clone for CERT_AUTHORITY_KEY_ID2_INFO {
clone(&self) -> Self1572     fn clone(&self) -> Self {
1573         *self
1574     }
1575 }
1576 #[repr(C)]
1577 pub struct CERT_AUTHORITY_KEY_ID_INFO {
1578     pub KeyId: CRYPTOAPI_BLOB,
1579     pub CertIssuer: CRYPTOAPI_BLOB,
1580     pub CertSerialNumber: CRYPTOAPI_BLOB,
1581 }
1582 impl ::core::marker::Copy for CERT_AUTHORITY_KEY_ID_INFO {}
1583 impl ::core::clone::Clone for CERT_AUTHORITY_KEY_ID_INFO {
clone(&self) -> Self1584     fn clone(&self) -> Self {
1585         *self
1586     }
1587 }
1588 pub const CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_PARTIAL_CHAIN_LOGGING_FLAG: u32 = 2u32;
1589 pub const CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_UNTRUSTED_ROOT_LOGGING_FLAG: u32 = 1u32;
1590 pub const CERT_AUTH_ROOT_SHA256_HASH_PROP_ID: u32 = 98u32;
1591 pub const CERT_AUTO_ENROLL_PROP_ID: u32 = 21u32;
1592 pub const CERT_AUTO_ENROLL_RETRY_PROP_ID: u32 = 66u32;
1593 pub const CERT_AUTO_UPDATE_DISABLE_RANDOM_QUERY_STRING_FLAG: u32 = 4u32;
1594 pub const CERT_BACKED_UP_PROP_ID: u32 = 69u32;
1595 #[repr(C)]
1596 #[cfg(feature = "Win32_Foundation")]
1597 pub struct CERT_BASIC_CONSTRAINTS2_INFO {
1598     pub fCA: super::super::Foundation::BOOL,
1599     pub fPathLenConstraint: super::super::Foundation::BOOL,
1600     pub dwPathLenConstraint: u32,
1601 }
1602 #[cfg(feature = "Win32_Foundation")]
1603 impl ::core::marker::Copy for CERT_BASIC_CONSTRAINTS2_INFO {}
1604 #[cfg(feature = "Win32_Foundation")]
1605 impl ::core::clone::Clone for CERT_BASIC_CONSTRAINTS2_INFO {
clone(&self) -> Self1606     fn clone(&self) -> Self {
1607         *self
1608     }
1609 }
1610 #[repr(C)]
1611 #[cfg(feature = "Win32_Foundation")]
1612 pub struct CERT_BASIC_CONSTRAINTS_INFO {
1613     pub SubjectType: CRYPT_BIT_BLOB,
1614     pub fPathLenConstraint: super::super::Foundation::BOOL,
1615     pub dwPathLenConstraint: u32,
1616     pub cSubtreesConstraint: u32,
1617     pub rgSubtreesConstraint: *mut CRYPTOAPI_BLOB,
1618 }
1619 #[cfg(feature = "Win32_Foundation")]
1620 impl ::core::marker::Copy for CERT_BASIC_CONSTRAINTS_INFO {}
1621 #[cfg(feature = "Win32_Foundation")]
1622 impl ::core::clone::Clone for CERT_BASIC_CONSTRAINTS_INFO {
clone(&self) -> Self1623     fn clone(&self) -> Self {
1624         *self
1625     }
1626 }
1627 #[repr(C)]
1628 #[cfg(feature = "Win32_Foundation")]
1629 pub struct CERT_BIOMETRIC_DATA {
1630     pub dwTypeOfBiometricDataChoice: CERT_BIOMETRIC_DATA_TYPE,
1631     pub Anonymous: CERT_BIOMETRIC_DATA_0,
1632     pub HashedUrl: CERT_HASHED_URL,
1633 }
1634 #[cfg(feature = "Win32_Foundation")]
1635 impl ::core::marker::Copy for CERT_BIOMETRIC_DATA {}
1636 #[cfg(feature = "Win32_Foundation")]
1637 impl ::core::clone::Clone for CERT_BIOMETRIC_DATA {
clone(&self) -> Self1638     fn clone(&self) -> Self {
1639         *self
1640     }
1641 }
1642 #[repr(C)]
1643 #[cfg(feature = "Win32_Foundation")]
1644 pub union CERT_BIOMETRIC_DATA_0 {
1645     pub dwPredefined: u32,
1646     pub pszObjId: super::super::Foundation::PSTR,
1647 }
1648 #[cfg(feature = "Win32_Foundation")]
1649 impl ::core::marker::Copy for CERT_BIOMETRIC_DATA_0 {}
1650 #[cfg(feature = "Win32_Foundation")]
1651 impl ::core::clone::Clone for CERT_BIOMETRIC_DATA_0 {
clone(&self) -> Self1652     fn clone(&self) -> Self {
1653         *self
1654     }
1655 }
1656 pub type CERT_BIOMETRIC_DATA_TYPE = u32;
1657 pub const CERT_BIOMETRIC_PREDEFINED_DATA_CHOICE: CERT_BIOMETRIC_DATA_TYPE = 1u32;
1658 pub const CERT_BIOMETRIC_OID_DATA_CHOICE: CERT_BIOMETRIC_DATA_TYPE = 2u32;
1659 #[repr(C)]
1660 #[cfg(feature = "Win32_Foundation")]
1661 pub struct CERT_BIOMETRIC_EXT_INFO {
1662     pub cBiometricData: u32,
1663     pub rgBiometricData: *mut CERT_BIOMETRIC_DATA,
1664 }
1665 #[cfg(feature = "Win32_Foundation")]
1666 impl ::core::marker::Copy for CERT_BIOMETRIC_EXT_INFO {}
1667 #[cfg(feature = "Win32_Foundation")]
1668 impl ::core::clone::Clone for CERT_BIOMETRIC_EXT_INFO {
clone(&self) -> Self1669     fn clone(&self) -> Self {
1670         *self
1671     }
1672 }
1673 pub const CERT_BIOMETRIC_PICTURE_TYPE: u32 = 0u32;
1674 pub const CERT_BIOMETRIC_SIGNATURE_TYPE: u32 = 1u32;
1675 pub const CERT_BUNDLE_CERTIFICATE: u32 = 0u32;
1676 pub const CERT_BUNDLE_CRL: u32 = 1u32;
1677 pub const CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG: u32 = 2u32;
1678 pub const CERT_CA_DISABLE_CRL_PROP_ID: u32 = 82u32;
1679 pub const CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: u32 = 81u32;
1680 pub const CERT_CA_SUBJECT_FLAG: u32 = 128u32;
1681 pub const CERT_CEP_PROP_ID: u32 = 87u32;
1682 #[repr(C)]
1683 #[cfg(feature = "Win32_Foundation")]
1684 pub struct CERT_CHAIN {
1685     pub cCerts: u32,
1686     pub certs: *mut CRYPTOAPI_BLOB,
1687     pub keyLocatorInfo: CRYPT_KEY_PROV_INFO,
1688 }
1689 #[cfg(feature = "Win32_Foundation")]
1690 impl ::core::marker::Copy for CERT_CHAIN {}
1691 #[cfg(feature = "Win32_Foundation")]
1692 impl ::core::clone::Clone for CERT_CHAIN {
clone(&self) -> Self1693     fn clone(&self) -> Self {
1694         *self
1695     }
1696 }
1697 pub const CERT_CHAIN_AUTO_CURRENT_USER: u32 = 1u32;
1698 pub const CERT_CHAIN_AUTO_FLUSH_DISABLE_FLAG: u32 = 1u32;
1699 pub const CERT_CHAIN_AUTO_HPKP_RULE_INFO: u32 = 8u32;
1700 pub const CERT_CHAIN_AUTO_IMPERSONATED: u32 = 3u32;
1701 pub const CERT_CHAIN_AUTO_LOCAL_MACHINE: u32 = 2u32;
1702 pub const CERT_CHAIN_AUTO_LOG_CREATE_FLAG: u32 = 2u32;
1703 pub const CERT_CHAIN_AUTO_LOG_FLUSH_FLAG: u32 = 8u32;
1704 pub const CERT_CHAIN_AUTO_LOG_FREE_FLAG: u32 = 4u32;
1705 pub const CERT_CHAIN_AUTO_NETWORK_INFO: u32 = 6u32;
1706 pub const CERT_CHAIN_AUTO_PINRULE_INFO: u32 = 5u32;
1707 pub const CERT_CHAIN_AUTO_PROCESS_INFO: u32 = 4u32;
1708 pub const CERT_CHAIN_AUTO_SERIAL_LOCAL_MACHINE: u32 = 7u32;
1709 pub const CERT_CHAIN_CACHE_END_CERT: u32 = 1u32;
1710 pub const CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL: u32 = 4u32;
1711 #[repr(C)]
1712 #[cfg(feature = "Win32_Foundation")]
1713 pub struct CERT_CHAIN_CONTEXT {
1714     pub cbSize: u32,
1715     pub TrustStatus: CERT_TRUST_STATUS,
1716     pub cChain: u32,
1717     pub rgpChain: *mut *mut CERT_SIMPLE_CHAIN,
1718     pub cLowerQualityChainContext: u32,
1719     pub rgpLowerQualityChainContext: *mut *mut CERT_CHAIN_CONTEXT,
1720     pub fHasRevocationFreshnessTime: super::super::Foundation::BOOL,
1721     pub dwRevocationFreshnessTime: u32,
1722     pub dwCreateFlags: u32,
1723     pub ChainId: ::windows_sys::core::GUID,
1724 }
1725 #[cfg(feature = "Win32_Foundation")]
1726 impl ::core::marker::Copy for CERT_CHAIN_CONTEXT {}
1727 #[cfg(feature = "Win32_Foundation")]
1728 impl ::core::clone::Clone for CERT_CHAIN_CONTEXT {
clone(&self) -> Self1729     fn clone(&self) -> Self {
1730         *self
1731     }
1732 }
1733 pub const CERT_CHAIN_CRL_VALIDITY_EXT_PERIOD_HOURS_DEFAULT: u32 = 12u32;
1734 pub const CERT_CHAIN_DISABLE_AIA: u32 = 8192u32;
1735 pub const CERT_CHAIN_DISABLE_ALL_EKU_WEAK_FLAG: u32 = 65536u32;
1736 pub const CERT_CHAIN_DISABLE_AUTH_ROOT_AUTO_UPDATE: u32 = 256u32;
1737 pub const CERT_CHAIN_DISABLE_CODE_SIGNING_WEAK_FLAG: u32 = 4194304u32;
1738 pub const CERT_CHAIN_DISABLE_ECC_PARA_FLAG: u32 = 16u32;
1739 pub const CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAG: u32 = 4096u32;
1740 pub const CERT_CHAIN_DISABLE_MD2_MD4: u32 = 4096u32;
1741 pub const CERT_CHAIN_DISABLE_MOTW_CODE_SIGNING_WEAK_FLAG: u32 = 8388608u32;
1742 pub const CERT_CHAIN_DISABLE_MOTW_FILE_HASH_WEAK_FLAG: u32 = 8192u32;
1743 pub const CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_HASH_WEAK_FLAG: u32 = 32768u32;
1744 pub const CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_WEAK_FLAG: u32 = 134217728u32;
1745 pub const CERT_CHAIN_DISABLE_MY_PEER_TRUST: u32 = 2048u32;
1746 pub const CERT_CHAIN_DISABLE_OPT_IN_SERVER_AUTH_WEAK_FLAG: u32 = 262144u32;
1747 pub const CERT_CHAIN_DISABLE_PASS1_QUALITY_FILTERING: u32 = 64u32;
1748 pub const CERT_CHAIN_DISABLE_SERVER_AUTH_WEAK_FLAG: u32 = 1048576u32;
1749 pub const CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAG: u32 = 16384u32;
1750 pub const CERT_CHAIN_DISABLE_TIMESTAMP_WEAK_FLAG: u32 = 67108864u32;
1751 #[repr(C)]
1752 #[cfg(feature = "Win32_Foundation")]
1753 pub struct CERT_CHAIN_ELEMENT {
1754     pub cbSize: u32,
1755     pub pCertContext: *mut CERT_CONTEXT,
1756     pub TrustStatus: CERT_TRUST_STATUS,
1757     pub pRevocationInfo: *mut CERT_REVOCATION_INFO,
1758     pub pIssuanceUsage: *mut CTL_USAGE,
1759     pub pApplicationUsage: *mut CTL_USAGE,
1760     pub pwszExtendedErrorInfo: super::super::Foundation::PWSTR,
1761 }
1762 #[cfg(feature = "Win32_Foundation")]
1763 impl ::core::marker::Copy for CERT_CHAIN_ELEMENT {}
1764 #[cfg(feature = "Win32_Foundation")]
1765 impl ::core::clone::Clone for CERT_CHAIN_ELEMENT {
clone(&self) -> Self1766     fn clone(&self) -> Self {
1767         *self
1768     }
1769 }
1770 pub const CERT_CHAIN_ENABLE_ALL_EKU_HYGIENE_FLAG: u32 = 131072u32;
1771 pub const CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE: u32 = 16u32;
1772 pub const CERT_CHAIN_ENABLE_CODE_SIGNING_HYGIENE_FLAG: u32 = 16777216u32;
1773 pub const CERT_CHAIN_ENABLE_MD2_MD4_FLAG: u32 = 1u32;
1774 pub const CERT_CHAIN_ENABLE_MOTW_CODE_SIGNING_HYGIENE_FLAG: u32 = 33554432u32;
1775 pub const CERT_CHAIN_ENABLE_MOTW_TIMESTAMP_HYGIENE_FLAG: u32 = 536870912u32;
1776 pub const CERT_CHAIN_ENABLE_ONLY_WEAK_LOGGING_FLAG: u32 = 8u32;
1777 pub const CERT_CHAIN_ENABLE_PEER_TRUST: u32 = 1024u32;
1778 pub const CERT_CHAIN_ENABLE_SERVER_AUTH_HYGIENE_FLAG: u32 = 2097152u32;
1779 pub const CERT_CHAIN_ENABLE_SHARE_STORE: u32 = 32u32;
1780 pub const CERT_CHAIN_ENABLE_TIMESTAMP_HYGIENE_FLAG: u32 = 268435456u32;
1781 pub const CERT_CHAIN_ENABLE_WEAK_LOGGING_FLAG: u32 = 4u32;
1782 pub const CERT_CHAIN_ENABLE_WEAK_RSA_ROOT_FLAG: u32 = 2u32;
1783 pub const CERT_CHAIN_ENABLE_WEAK_SETTINGS_FLAG: u32 = 2147483648u32;
1784 #[repr(C)]
1785 pub struct CERT_CHAIN_ENGINE_CONFIG {
1786     pub cbSize: u32,
1787     pub hRestrictedRoot: *mut ::core::ffi::c_void,
1788     pub hRestrictedTrust: *mut ::core::ffi::c_void,
1789     pub hRestrictedOther: *mut ::core::ffi::c_void,
1790     pub cAdditionalStore: u32,
1791     pub rghAdditionalStore: *mut *mut ::core::ffi::c_void,
1792     pub dwFlags: u32,
1793     pub dwUrlRetrievalTimeout: u32,
1794     pub MaximumCachedCertificates: u32,
1795     pub CycleDetectionModulus: u32,
1796     pub hExclusiveRoot: *mut ::core::ffi::c_void,
1797     pub hExclusiveTrustedPeople: *mut ::core::ffi::c_void,
1798     pub dwExclusiveFlags: u32,
1799 }
1800 impl ::core::marker::Copy for CERT_CHAIN_ENGINE_CONFIG {}
1801 impl ::core::clone::Clone for CERT_CHAIN_ENGINE_CONFIG {
clone(&self) -> Self1802     fn clone(&self) -> Self {
1803         *self
1804     }
1805 }
1806 pub const CERT_CHAIN_EXCLUSIVE_ENABLE_CA_FLAG: u32 = 1u32;
1807 pub const CERT_CHAIN_FIND_BY_ISSUER: u32 = 1u32;
1808 #[repr(C)]
1809 #[cfg(feature = "Win32_Foundation")]
1810 pub struct CERT_CHAIN_FIND_BY_ISSUER_PARA {
1811     pub cbSize: u32,
1812     pub pszUsageIdentifier: super::super::Foundation::PSTR,
1813     pub dwKeySpec: u32,
1814     pub dwAcquirePrivateKeyFlags: u32,
1815     pub cIssuer: u32,
1816     pub rgIssuer: *mut CRYPTOAPI_BLOB,
1817     pub pfnFindCallback: PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK,
1818     pub pvFindArg: *mut ::core::ffi::c_void,
1819 }
1820 #[cfg(feature = "Win32_Foundation")]
1821 impl ::core::marker::Copy for CERT_CHAIN_FIND_BY_ISSUER_PARA {}
1822 #[cfg(feature = "Win32_Foundation")]
1823 impl ::core::clone::Clone for CERT_CHAIN_FIND_BY_ISSUER_PARA {
clone(&self) -> Self1824     fn clone(&self) -> Self {
1825         *self
1826     }
1827 }
1828 pub const CERT_CHAIN_HAS_MOTW: u32 = 16384u32;
1829 pub const CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_DEFAULT: u32 = 5u32;
1830 pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_BYTE_COUNT_DEFAULT: u32 = 100000u32;
1831 pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_CERT_COUNT_DEFAULT: u32 = 10u32;
1832 pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_COUNT_PER_CHAIN_DEFAULT: u32 = 3u32;
1833 pub const CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DEFAULT: u32 = 5u32;
1834 pub const CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DISABLE: u32 = 4294967295u32;
1835 pub const CERT_CHAIN_MIN_PUB_KEY_BIT_LENGTH_DISABLE: u32 = 4294967295u32;
1836 pub const CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_DEFAULT: u32 = 1023u32;
1837 pub const CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_DISABLE: u32 = 4294967295u32;
1838 pub const CERT_CHAIN_MOTW_IGNORE_AFTER_TIME_WEAK_FLAG: u32 = 1073741824u32;
1839 pub const CERT_CHAIN_ONLY_ADDITIONAL_AND_AUTH_ROOT: u32 = 32768u32;
1840 pub const CERT_CHAIN_OPTION_DISABLE_AIA_URL_RETRIEVAL: u32 = 2u32;
1841 pub const CERT_CHAIN_OPTION_ENABLE_SIA_URL_RETRIEVAL: u32 = 4u32;
1842 pub const CERT_CHAIN_OPT_IN_WEAK_FLAGS: u32 = 262144u32;
1843 pub const CERT_CHAIN_OPT_IN_WEAK_SIGNATURE: u32 = 65536u32;
1844 #[repr(C)]
1845 #[cfg(feature = "Win32_Foundation")]
1846 pub struct CERT_CHAIN_PARA {
1847     pub cbSize: u32,
1848     pub RequestedUsage: CERT_USAGE_MATCH,
1849 }
1850 #[cfg(feature = "Win32_Foundation")]
1851 impl ::core::marker::Copy for CERT_CHAIN_PARA {}
1852 #[cfg(feature = "Win32_Foundation")]
1853 impl ::core::clone::Clone for CERT_CHAIN_PARA {
clone(&self) -> Self1854     fn clone(&self) -> Self {
1855         *self
1856     }
1857 }
1858 pub type CERT_CHAIN_POLICY_FLAGS = u32;
1859 pub const CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG: CERT_CHAIN_POLICY_FLAGS = 1u32;
1860 pub const CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG: CERT_CHAIN_POLICY_FLAGS = 2u32;
1861 pub const CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG: CERT_CHAIN_POLICY_FLAGS = 4u32;
1862 pub const CERT_CHAIN_POLICY_IGNORE_ALL_NOT_TIME_VALID_FLAGS: CERT_CHAIN_POLICY_FLAGS = 7u32;
1863 pub const CERT_CHAIN_POLICY_IGNORE_INVALID_BASIC_CONSTRAINTS_FLAG: CERT_CHAIN_POLICY_FLAGS = 8u32;
1864 pub const CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG: CERT_CHAIN_POLICY_FLAGS = 16u32;
1865 pub const CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG: CERT_CHAIN_POLICY_FLAGS = 32u32;
1866 pub const CERT_CHAIN_POLICY_IGNORE_INVALID_NAME_FLAG: CERT_CHAIN_POLICY_FLAGS = 64u32;
1867 pub const CERT_CHAIN_POLICY_IGNORE_INVALID_POLICY_FLAG: CERT_CHAIN_POLICY_FLAGS = 128u32;
1868 pub const CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG: CERT_CHAIN_POLICY_FLAGS = 256u32;
1869 pub const CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG: CERT_CHAIN_POLICY_FLAGS = 512u32;
1870 pub const CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG: CERT_CHAIN_POLICY_FLAGS = 1024u32;
1871 pub const CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG: CERT_CHAIN_POLICY_FLAGS = 2048u32;
1872 pub const CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGS: CERT_CHAIN_POLICY_FLAGS = 3840u32;
1873 pub const CERT_CHAIN_POLICY_ALLOW_TESTROOT_FLAG: CERT_CHAIN_POLICY_FLAGS = 32768u32;
1874 pub const CERT_CHAIN_POLICY_TRUST_TESTROOT_FLAG: CERT_CHAIN_POLICY_FLAGS = 16384u32;
1875 pub const CERT_CHAIN_POLICY_IGNORE_NOT_SUPPORTED_CRITICAL_EXT_FLAG: CERT_CHAIN_POLICY_FLAGS = 8192u32;
1876 pub const CERT_CHAIN_POLICY_IGNORE_PEER_TRUST_FLAG: CERT_CHAIN_POLICY_FLAGS = 4096u32;
1877 pub const CERT_CHAIN_POLICY_IGNORE_WEAK_SIGNATURE_FLAG: u32 = 134217728u32;
1878 #[repr(C)]
1879 pub struct CERT_CHAIN_POLICY_PARA {
1880     pub cbSize: u32,
1881     pub dwFlags: CERT_CHAIN_POLICY_FLAGS,
1882     pub pvExtraPolicyPara: *mut ::core::ffi::c_void,
1883 }
1884 impl ::core::marker::Copy for CERT_CHAIN_POLICY_PARA {}
1885 impl ::core::clone::Clone for CERT_CHAIN_POLICY_PARA {
clone(&self) -> Self1886     fn clone(&self) -> Self {
1887         *self
1888     }
1889 }
1890 pub const CERT_CHAIN_POLICY_SSL_F12_ERROR_LEVEL: u32 = 2u32;
1891 pub const CERT_CHAIN_POLICY_SSL_F12_NONE_CATEGORY: u32 = 0u32;
1892 pub const CERT_CHAIN_POLICY_SSL_F12_ROOT_PROGRAM_CATEGORY: u32 = 2u32;
1893 pub const CERT_CHAIN_POLICY_SSL_F12_SUCCESS_LEVEL: u32 = 0u32;
1894 pub const CERT_CHAIN_POLICY_SSL_F12_WARNING_LEVEL: u32 = 1u32;
1895 pub const CERT_CHAIN_POLICY_SSL_F12_WEAK_CRYPTO_CATEGORY: u32 = 1u32;
1896 pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_ERROR: i32 = -2i32;
1897 pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_WARNING: u32 = 2u32;
1898 pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_ERROR: i32 = -1i32;
1899 pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_WARNING: u32 = 1u32;
1900 pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_SUCCESS: u32 = 0u32;
1901 #[repr(C)]
1902 pub struct CERT_CHAIN_POLICY_STATUS {
1903     pub cbSize: u32,
1904     pub dwError: u32,
1905     pub lChainIndex: i32,
1906     pub lElementIndex: i32,
1907     pub pvExtraPolicyStatus: *mut ::core::ffi::c_void,
1908 }
1909 impl ::core::marker::Copy for CERT_CHAIN_POLICY_STATUS {}
1910 impl ::core::clone::Clone for CERT_CHAIN_POLICY_STATUS {
clone(&self) -> Self1911     fn clone(&self) -> Self {
1912         *self
1913     }
1914 }
1915 pub const CERT_CHAIN_RETURN_LOWER_QUALITY_CONTEXTS: u32 = 128u32;
1916 pub const CERT_CHAIN_REVOCATION_ACCUMULATIVE_TIMEOUT: u32 = 134217728u32;
1917 pub const CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY: u32 = 2147483648u32;
1918 pub const CERT_CHAIN_REVOCATION_CHECK_CHAIN: u32 = 536870912u32;
1919 pub const CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: u32 = 1073741824u32;
1920 pub const CERT_CHAIN_REVOCATION_CHECK_END_CERT: u32 = 268435456u32;
1921 pub const CERT_CHAIN_REVOCATION_CHECK_OCSP_CERT: u32 = 67108864u32;
1922 pub const CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG: u32 = 1u32;
1923 pub const CERT_CHAIN_THREAD_STORE_SYNC: u32 = 2u32;
1924 pub const CERT_CHAIN_TIMESTAMP_TIME: u32 = 512u32;
1925 pub const CERT_CHAIN_USE_LOCAL_MACHINE_STORE: u32 = 8u32;
1926 pub const CERT_CLOSE_STORE_CHECK_FLAG: u32 = 2u32;
1927 pub const CERT_CLOSE_STORE_FORCE_FLAG: u32 = 1u32;
1928 pub const CERT_CLR_DELETE_KEY_PROP_ID: u32 = 125u32;
1929 pub const CERT_COMPARE_ANY: u32 = 0u32;
1930 pub const CERT_COMPARE_ATTR: u32 = 3u32;
1931 pub const CERT_COMPARE_CERT_ID: u32 = 16u32;
1932 pub const CERT_COMPARE_CROSS_CERT_DIST_POINTS: u32 = 17u32;
1933 pub const CERT_COMPARE_CTL_USAGE: u32 = 10u32;
1934 pub const CERT_COMPARE_ENHKEY_USAGE: u32 = 10u32;
1935 pub const CERT_COMPARE_EXISTING: u32 = 13u32;
1936 pub const CERT_COMPARE_HASH: u32 = 1u32;
1937 pub const CERT_COMPARE_HASH_STR: u32 = 20u32;
1938 pub const CERT_COMPARE_HAS_PRIVATE_KEY: u32 = 21u32;
1939 pub const CERT_COMPARE_ISSUER_OF: u32 = 12u32;
1940 pub const CERT_COMPARE_KEY_IDENTIFIER: u32 = 15u32;
1941 pub const CERT_COMPARE_KEY_SPEC: u32 = 9u32;
1942 pub const CERT_COMPARE_MASK: u32 = 65535u32;
1943 pub const CERT_COMPARE_MD5_HASH: u32 = 4u32;
1944 pub const CERT_COMPARE_NAME: u32 = 2u32;
1945 pub const CERT_COMPARE_NAME_STR_A: u32 = 7u32;
1946 pub const CERT_COMPARE_NAME_STR_W: u32 = 8u32;
1947 pub const CERT_COMPARE_PROPERTY: u32 = 5u32;
1948 pub const CERT_COMPARE_PUBKEY_MD5_HASH: u32 = 18u32;
1949 pub const CERT_COMPARE_PUBLIC_KEY: u32 = 6u32;
1950 pub const CERT_COMPARE_SHA1_HASH: u32 = 1u32;
1951 pub const CERT_COMPARE_SHIFT: i32 = 16i32;
1952 pub const CERT_COMPARE_SIGNATURE_HASH: u32 = 14u32;
1953 pub const CERT_COMPARE_SUBJECT_CERT: u32 = 11u32;
1954 pub const CERT_COMPARE_SUBJECT_INFO_ACCESS: u32 = 19u32;
1955 #[repr(C)]
1956 #[cfg(feature = "Win32_Foundation")]
1957 pub struct CERT_CONTEXT {
1958     pub dwCertEncodingType: u32,
1959     pub pbCertEncoded: *mut u8,
1960     pub cbCertEncoded: u32,
1961     pub pCertInfo: *mut CERT_INFO,
1962     pub hCertStore: *mut ::core::ffi::c_void,
1963 }
1964 #[cfg(feature = "Win32_Foundation")]
1965 impl ::core::marker::Copy for CERT_CONTEXT {}
1966 #[cfg(feature = "Win32_Foundation")]
1967 impl ::core::clone::Clone for CERT_CONTEXT {
clone(&self) -> Self1968     fn clone(&self) -> Self {
1969         *self
1970     }
1971 }
1972 pub const CERT_CONTEXT_REVOCATION_TYPE: u32 = 1u32;
1973 pub type CERT_CONTROL_STORE_FLAGS = u32;
1974 pub const CERT_STORE_CTRL_COMMIT_FORCE_FLAG: CERT_CONTROL_STORE_FLAGS = 1u32;
1975 pub const CERT_STORE_CTRL_COMMIT_CLEAR_FLAG: CERT_CONTROL_STORE_FLAGS = 2u32;
1976 pub const CERT_STORE_CTRL_INHIBIT_DUPLICATE_HANDLE_FLAG: CERT_CONTROL_STORE_FLAGS = 1u32;
1977 pub const CERT_CREATE_CONTEXT_NOCOPY_FLAG: u32 = 1u32;
1978 pub const CERT_CREATE_CONTEXT_NO_ENTRY_FLAG: u32 = 8u32;
1979 pub const CERT_CREATE_CONTEXT_NO_HCRYPTMSG_FLAG: u32 = 4u32;
1980 #[repr(C)]
1981 #[cfg(feature = "Win32_Foundation")]
1982 pub struct CERT_CREATE_CONTEXT_PARA {
1983     pub cbSize: u32,
1984     pub pfnFree: PFN_CRYPT_FREE,
1985     pub pvFree: *mut ::core::ffi::c_void,
1986     pub pfnSort: PFN_CERT_CREATE_CONTEXT_SORT_FUNC,
1987     pub pvSort: *mut ::core::ffi::c_void,
1988 }
1989 #[cfg(feature = "Win32_Foundation")]
1990 impl ::core::marker::Copy for CERT_CREATE_CONTEXT_PARA {}
1991 #[cfg(feature = "Win32_Foundation")]
1992 impl ::core::clone::Clone for CERT_CREATE_CONTEXT_PARA {
clone(&self) -> Self1993     fn clone(&self) -> Self {
1994         *self
1995     }
1996 }
1997 pub const CERT_CREATE_CONTEXT_SORTED_FLAG: u32 = 2u32;
1998 pub type CERT_CREATE_SELFSIGN_FLAGS = u32;
1999 pub const CERT_CREATE_SELFSIGN_NO_KEY_INFO: CERT_CREATE_SELFSIGN_FLAGS = 2u32;
2000 pub const CERT_CREATE_SELFSIGN_NO_SIGN: CERT_CREATE_SELFSIGN_FLAGS = 1u32;
2001 #[repr(C)]
2002 #[cfg(feature = "Win32_Foundation")]
2003 pub struct CERT_CRL_CONTEXT_PAIR {
2004     pub pCertContext: *mut CERT_CONTEXT,
2005     pub pCrlContext: *mut CRL_CONTEXT,
2006 }
2007 #[cfg(feature = "Win32_Foundation")]
2008 impl ::core::marker::Copy for CERT_CRL_CONTEXT_PAIR {}
2009 #[cfg(feature = "Win32_Foundation")]
2010 impl ::core::clone::Clone for CERT_CRL_CONTEXT_PAIR {
clone(&self) -> Self2011     fn clone(&self) -> Self {
2012         *self
2013     }
2014 }
2015 pub const CERT_CRL_SIGN_KEY_USAGE: u32 = 2u32;
2016 pub const CERT_CROSS_CERT_DIST_POINTS_PROP_ID: u32 = 23u32;
2017 pub const CERT_CTL_USAGE_PROP_ID: u32 = 9u32;
2018 pub const CERT_DATA_ENCIPHERMENT_KEY_USAGE: u32 = 16u32;
2019 pub const CERT_DATE_STAMP_PROP_ID: u32 = 27u32;
2020 pub const CERT_DECIPHER_ONLY_KEY_USAGE: u32 = 128u32;
2021 pub const CERT_DESCRIPTION_PROP_ID: u32 = 13u32;
2022 #[repr(C)]
2023 pub struct CERT_DH_PARAMETERS {
2024     pub p: CRYPTOAPI_BLOB,
2025     pub g: CRYPTOAPI_BLOB,
2026 }
2027 impl ::core::marker::Copy for CERT_DH_PARAMETERS {}
2028 impl ::core::clone::Clone for CERT_DH_PARAMETERS {
clone(&self) -> Self2029     fn clone(&self) -> Self {
2030         *self
2031     }
2032 }
2033 pub const CERT_DIGITAL_SIGNATURE_KEY_USAGE: u32 = 128u32;
2034 pub const CERT_DISALLOWED_ENHKEY_USAGE_PROP_ID: u32 = 122u32;
2035 pub const CERT_DISALLOWED_FILETIME_PROP_ID: u32 = 104u32;
2036 #[repr(C)]
2037 pub struct CERT_DSS_PARAMETERS {
2038     pub p: CRYPTOAPI_BLOB,
2039     pub q: CRYPTOAPI_BLOB,
2040     pub g: CRYPTOAPI_BLOB,
2041 }
2042 impl ::core::marker::Copy for CERT_DSS_PARAMETERS {}
2043 impl ::core::clone::Clone for CERT_DSS_PARAMETERS {
clone(&self) -> Self2044     fn clone(&self) -> Self {
2045         *self
2046     }
2047 }
2048 pub const CERT_DSS_R_LEN: u32 = 20u32;
2049 pub const CERT_DSS_S_LEN: u32 = 20u32;
2050 #[repr(C)]
2051 pub struct CERT_ECC_SIGNATURE {
2052     pub r: CRYPTOAPI_BLOB,
2053     pub s: CRYPTOAPI_BLOB,
2054 }
2055 impl ::core::marker::Copy for CERT_ECC_SIGNATURE {}
2056 impl ::core::clone::Clone for CERT_ECC_SIGNATURE {
clone(&self) -> Self2057     fn clone(&self) -> Self {
2058         *self
2059     }
2060 }
2061 pub const CERT_EFS_PROP_ID: u32 = 17u32;
2062 pub const CERT_ENCIPHER_ONLY_KEY_USAGE: u32 = 1u32;
2063 pub const CERT_ENCODING_TYPE_MASK: u32 = 65535u32;
2064 pub const CERT_END_ENTITY_SUBJECT_FLAG: u32 = 64u32;
2065 pub const CERT_ENHKEY_USAGE_PROP_ID: u32 = 9u32;
2066 pub const CERT_ENROLLMENT_PROP_ID: u32 = 26u32;
2067 pub const CERT_EXCLUDED_SUBTREE_BIT: i32 = -2147483648i32;
2068 pub const CERT_EXTENDED_ERROR_INFO_PROP_ID: u32 = 30u32;
2069 #[repr(C)]
2070 #[cfg(feature = "Win32_Foundation")]
2071 pub struct CERT_EXTENSION {
2072     pub pszObjId: super::super::Foundation::PSTR,
2073     pub fCritical: super::super::Foundation::BOOL,
2074     pub Value: CRYPTOAPI_BLOB,
2075 }
2076 #[cfg(feature = "Win32_Foundation")]
2077 impl ::core::marker::Copy for CERT_EXTENSION {}
2078 #[cfg(feature = "Win32_Foundation")]
2079 impl ::core::clone::Clone for CERT_EXTENSION {
clone(&self) -> Self2080     fn clone(&self) -> Self {
2081         *self
2082     }
2083 }
2084 #[repr(C)]
2085 #[cfg(feature = "Win32_Foundation")]
2086 pub struct CERT_EXTENSIONS {
2087     pub cExtension: u32,
2088     pub rgExtension: *mut CERT_EXTENSION,
2089 }
2090 #[cfg(feature = "Win32_Foundation")]
2091 impl ::core::marker::Copy for CERT_EXTENSIONS {}
2092 #[cfg(feature = "Win32_Foundation")]
2093 impl ::core::clone::Clone for CERT_EXTENSIONS {
clone(&self) -> Self2094     fn clone(&self) -> Self {
2095         *self
2096     }
2097 }
2098 pub const CERT_FILE_HASH_USE_TYPE: u32 = 1u32;
2099 pub const CERT_FILE_STORE_COMMIT_ENABLE_FLAG: u32 = 65536u32;
2100 pub type CERT_FIND_CHAIN_IN_STORE_FLAGS = u32;
2101 pub const CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG: CERT_FIND_CHAIN_IN_STORE_FLAGS = 1u32;
2102 pub const CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG: CERT_FIND_CHAIN_IN_STORE_FLAGS = 2u32;
2103 pub const CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG: CERT_FIND_CHAIN_IN_STORE_FLAGS = 32768u32;
2104 pub const CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG: CERT_FIND_CHAIN_IN_STORE_FLAGS = 4u32;
2105 pub const CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG: CERT_FIND_CHAIN_IN_STORE_FLAGS = 8u32;
2106 pub const CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG: CERT_FIND_CHAIN_IN_STORE_FLAGS = 16384u32;
2107 pub type CERT_FIND_FLAGS = u32;
2108 pub const CERT_FIND_ANY: CERT_FIND_FLAGS = 0u32;
2109 pub const CERT_FIND_CERT_ID: CERT_FIND_FLAGS = 1048576u32;
2110 pub const CERT_FIND_CTL_USAGE: CERT_FIND_FLAGS = 655360u32;
2111 pub const CERT_FIND_ENHKEY_USAGE: CERT_FIND_FLAGS = 655360u32;
2112 pub const CERT_FIND_EXISTING: CERT_FIND_FLAGS = 851968u32;
2113 pub const CERT_FIND_HASH: CERT_FIND_FLAGS = 65536u32;
2114 pub const CERT_FIND_HAS_PRIVATE_KEY: CERT_FIND_FLAGS = 1376256u32;
2115 pub const CERT_FIND_ISSUER_ATTR: CERT_FIND_FLAGS = 196612u32;
2116 pub const CERT_FIND_ISSUER_NAME: CERT_FIND_FLAGS = 131076u32;
2117 pub const CERT_FIND_ISSUER_OF: CERT_FIND_FLAGS = 786432u32;
2118 pub const CERT_FIND_ISSUER_STR: CERT_FIND_FLAGS = 524292u32;
2119 pub const CERT_FIND_KEY_IDENTIFIER: CERT_FIND_FLAGS = 983040u32;
2120 pub const CERT_FIND_KEY_SPEC: CERT_FIND_FLAGS = 589824u32;
2121 pub const CERT_FIND_MD5_HASH: CERT_FIND_FLAGS = 262144u32;
2122 pub const CERT_FIND_PROPERTY: CERT_FIND_FLAGS = 327680u32;
2123 pub const CERT_FIND_PUBLIC_KEY: CERT_FIND_FLAGS = 393216u32;
2124 pub const CERT_FIND_SHA1_HASH: CERT_FIND_FLAGS = 65536u32;
2125 pub const CERT_FIND_SIGNATURE_HASH: CERT_FIND_FLAGS = 917504u32;
2126 pub const CERT_FIND_SUBJECT_ATTR: CERT_FIND_FLAGS = 196615u32;
2127 pub const CERT_FIND_SUBJECT_CERT: CERT_FIND_FLAGS = 720896u32;
2128 pub const CERT_FIND_SUBJECT_NAME: CERT_FIND_FLAGS = 131079u32;
2129 pub const CERT_FIND_SUBJECT_STR: CERT_FIND_FLAGS = 524295u32;
2130 pub const CERT_FIND_CROSS_CERT_DIST_POINTS: CERT_FIND_FLAGS = 1114112u32;
2131 pub const CERT_FIND_PUBKEY_MD5_HASH: CERT_FIND_FLAGS = 1179648u32;
2132 pub const CERT_FIND_SUBJECT_STR_A: CERT_FIND_FLAGS = 458759u32;
2133 pub const CERT_FIND_SUBJECT_STR_W: CERT_FIND_FLAGS = 524295u32;
2134 pub const CERT_FIND_ISSUER_STR_A: CERT_FIND_FLAGS = 458756u32;
2135 pub const CERT_FIND_ISSUER_STR_W: CERT_FIND_FLAGS = 524292u32;
2136 pub const CERT_FIND_SUBJECT_INFO_ACCESS: CERT_FIND_FLAGS = 1245184u32;
2137 pub const CERT_FIND_HASH_STR: CERT_FIND_FLAGS = 1310720u32;
2138 pub const CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG: CERT_FIND_FLAGS = 1u32;
2139 pub const CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG: CERT_FIND_FLAGS = 2u32;
2140 pub const CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG: CERT_FIND_FLAGS = 4u32;
2141 pub const CERT_FIND_NO_ENHKEY_USAGE_FLAG: CERT_FIND_FLAGS = 8u32;
2142 pub const CERT_FIND_OR_ENHKEY_USAGE_FLAG: CERT_FIND_FLAGS = 16u32;
2143 pub const CERT_FIND_VALID_ENHKEY_USAGE_FLAG: CERT_FIND_FLAGS = 32u32;
2144 pub const CERT_FIND_OPTIONAL_CTL_USAGE_FLAG: CERT_FIND_FLAGS = 1u32;
2145 pub const CERT_FIND_EXT_ONLY_CTL_USAGE_FLAG: CERT_FIND_FLAGS = 2u32;
2146 pub const CERT_FIND_PROP_ONLY_CTL_USAGE_FLAG: CERT_FIND_FLAGS = 4u32;
2147 pub const CERT_FIND_NO_CTL_USAGE_FLAG: CERT_FIND_FLAGS = 8u32;
2148 pub const CERT_FIND_OR_CTL_USAGE_FLAG: CERT_FIND_FLAGS = 16u32;
2149 pub const CERT_FIND_VALID_CTL_USAGE_FLAG: CERT_FIND_FLAGS = 32u32;
2150 pub type CERT_FIND_TYPE = u32;
2151 pub const CTL_FIND_ANY: CERT_FIND_TYPE = 0u32;
2152 pub const CTL_FIND_SHA1_HASH: CERT_FIND_TYPE = 1u32;
2153 pub const CTL_FIND_MD5_HASH: CERT_FIND_TYPE = 2u32;
2154 pub const CTL_FIND_USAGE: CERT_FIND_TYPE = 3u32;
2155 pub const CTL_FIND_SAME_USAGE_FLAG: CERT_FIND_TYPE = 1u32;
2156 pub const CTL_FIND_EXISTING: CERT_FIND_TYPE = 5u32;
2157 pub const CTL_FIND_SUBJECT: CERT_FIND_TYPE = 4u32;
2158 pub const CERT_FIRST_RESERVED_PROP_ID: u32 = 128u32;
2159 pub const CERT_FIRST_USER_PROP_ID: u32 = 32768u32;
2160 #[repr(C)]
2161 pub struct CERT_FORTEZZA_DATA_PROP {
2162     pub SerialNumber: [u8; 8],
2163     pub CertIndex: i32,
2164     pub CertLabel: [u8; 36],
2165 }
2166 impl ::core::marker::Copy for CERT_FORTEZZA_DATA_PROP {}
2167 impl ::core::clone::Clone for CERT_FORTEZZA_DATA_PROP {
clone(&self) -> Self2168     fn clone(&self) -> Self {
2169         *self
2170     }
2171 }
2172 pub const CERT_FORTEZZA_DATA_PROP_ID: u32 = 18u32;
2173 pub const CERT_FRIENDLY_NAME_PROP_ID: u32 = 11u32;
2174 #[repr(C)]
2175 #[cfg(feature = "Win32_Foundation")]
2176 pub struct CERT_GENERAL_SUBTREE {
2177     pub Base: CERT_ALT_NAME_ENTRY,
2178     pub dwMinimum: u32,
2179     pub fMaximum: super::super::Foundation::BOOL,
2180     pub dwMaximum: u32,
2181 }
2182 #[cfg(feature = "Win32_Foundation")]
2183 impl ::core::marker::Copy for CERT_GENERAL_SUBTREE {}
2184 #[cfg(feature = "Win32_Foundation")]
2185 impl ::core::clone::Clone for CERT_GENERAL_SUBTREE {
clone(&self) -> Self2186     fn clone(&self) -> Self {
2187         *self
2188     }
2189 }
2190 #[repr(C)]
2191 #[cfg(feature = "Win32_Foundation")]
2192 pub struct CERT_HASHED_URL {
2193     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
2194     pub Hash: CRYPTOAPI_BLOB,
2195     pub pwszUrl: super::super::Foundation::PWSTR,
2196 }
2197 #[cfg(feature = "Win32_Foundation")]
2198 impl ::core::marker::Copy for CERT_HASHED_URL {}
2199 #[cfg(feature = "Win32_Foundation")]
2200 impl ::core::clone::Clone for CERT_HASHED_URL {
clone(&self) -> Self2201     fn clone(&self) -> Self {
2202         *self
2203     }
2204 }
2205 pub const CERT_HASH_PROP_ID: u32 = 3u32;
2206 pub const CERT_HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_PROP_ID: u32 = 79u32;
2207 pub const CERT_HCRYPTPROV_TRANSFER_PROP_ID: u32 = 100u32;
2208 #[repr(C)]
2209 pub struct CERT_ID {
2210     pub dwIdChoice: CERT_ID_OPTION,
2211     pub Anonymous: CERT_ID_0,
2212 }
2213 impl ::core::marker::Copy for CERT_ID {}
2214 impl ::core::clone::Clone for CERT_ID {
clone(&self) -> Self2215     fn clone(&self) -> Self {
2216         *self
2217     }
2218 }
2219 #[repr(C)]
2220 pub union CERT_ID_0 {
2221     pub IssuerSerialNumber: CERT_ISSUER_SERIAL_NUMBER,
2222     pub KeyId: CRYPTOAPI_BLOB,
2223     pub HashId: CRYPTOAPI_BLOB,
2224 }
2225 impl ::core::marker::Copy for CERT_ID_0 {}
2226 impl ::core::clone::Clone for CERT_ID_0 {
clone(&self) -> Self2227     fn clone(&self) -> Self {
2228         *self
2229     }
2230 }
2231 pub type CERT_ID_OPTION = u32;
2232 pub const CERT_ID_ISSUER_SERIAL_NUMBER: CERT_ID_OPTION = 1u32;
2233 pub const CERT_ID_KEY_IDENTIFIER: CERT_ID_OPTION = 2u32;
2234 pub const CERT_ID_SHA1_HASH: CERT_ID_OPTION = 3u32;
2235 pub const CERT_IE30_RESERVED_PROP_ID: u32 = 7u32;
2236 #[repr(C)]
2237 #[cfg(feature = "Win32_Foundation")]
2238 pub struct CERT_INFO {
2239     pub dwVersion: u32,
2240     pub SerialNumber: CRYPTOAPI_BLOB,
2241     pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
2242     pub Issuer: CRYPTOAPI_BLOB,
2243     pub NotBefore: super::super::Foundation::FILETIME,
2244     pub NotAfter: super::super::Foundation::FILETIME,
2245     pub Subject: CRYPTOAPI_BLOB,
2246     pub SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO,
2247     pub IssuerUniqueId: CRYPT_BIT_BLOB,
2248     pub SubjectUniqueId: CRYPT_BIT_BLOB,
2249     pub cExtension: u32,
2250     pub rgExtension: *mut CERT_EXTENSION,
2251 }
2252 #[cfg(feature = "Win32_Foundation")]
2253 impl ::core::marker::Copy for CERT_INFO {}
2254 #[cfg(feature = "Win32_Foundation")]
2255 impl ::core::clone::Clone for CERT_INFO {
clone(&self) -> Self2256     fn clone(&self) -> Self {
2257         *self
2258     }
2259 }
2260 pub const CERT_INFO_EXTENSION_FLAG: u32 = 11u32;
2261 pub const CERT_INFO_ISSUER_FLAG: u32 = 4u32;
2262 pub const CERT_INFO_ISSUER_UNIQUE_ID_FLAG: u32 = 9u32;
2263 pub const CERT_INFO_NOT_AFTER_FLAG: u32 = 6u32;
2264 pub const CERT_INFO_NOT_BEFORE_FLAG: u32 = 5u32;
2265 pub const CERT_INFO_SERIAL_NUMBER_FLAG: u32 = 2u32;
2266 pub const CERT_INFO_SIGNATURE_ALGORITHM_FLAG: u32 = 3u32;
2267 pub const CERT_INFO_SUBJECT_FLAG: u32 = 7u32;
2268 pub const CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG: u32 = 8u32;
2269 pub const CERT_INFO_SUBJECT_UNIQUE_ID_FLAG: u32 = 10u32;
2270 pub const CERT_INFO_VERSION_FLAG: u32 = 1u32;
2271 pub const CERT_ISOLATED_KEY_PROP_ID: u32 = 118u32;
2272 pub const CERT_ISSUER_CHAIN_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID: u32 = 96u32;
2273 pub const CERT_ISSUER_CHAIN_SIGN_HASH_CNG_ALG_PROP_ID: u32 = 95u32;
2274 pub const CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID: u32 = 24u32;
2275 pub const CERT_ISSUER_PUB_KEY_BIT_LENGTH_PROP_ID: u32 = 94u32;
2276 #[repr(C)]
2277 pub struct CERT_ISSUER_SERIAL_NUMBER {
2278     pub Issuer: CRYPTOAPI_BLOB,
2279     pub SerialNumber: CRYPTOAPI_BLOB,
2280 }
2281 impl ::core::marker::Copy for CERT_ISSUER_SERIAL_NUMBER {}
2282 impl ::core::clone::Clone for CERT_ISSUER_SERIAL_NUMBER {
clone(&self) -> Self2283     fn clone(&self) -> Self {
2284         *self
2285     }
2286 }
2287 pub const CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: u32 = 28u32;
2288 #[repr(C)]
2289 #[cfg(feature = "Win32_Foundation")]
2290 pub struct CERT_KEYGEN_REQUEST_INFO {
2291     pub dwVersion: u32,
2292     pub SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO,
2293     pub pwszChallengeString: super::super::Foundation::PWSTR,
2294 }
2295 #[cfg(feature = "Win32_Foundation")]
2296 impl ::core::marker::Copy for CERT_KEYGEN_REQUEST_INFO {}
2297 #[cfg(feature = "Win32_Foundation")]
2298 impl ::core::clone::Clone for CERT_KEYGEN_REQUEST_INFO {
clone(&self) -> Self2299     fn clone(&self) -> Self {
2300         *self
2301     }
2302 }
2303 pub const CERT_KEYGEN_REQUEST_V1: u32 = 0u32;
2304 pub const CERT_KEY_AGREEMENT_KEY_USAGE: u32 = 8u32;
2305 #[repr(C)]
2306 #[cfg(feature = "Win32_Foundation")]
2307 pub struct CERT_KEY_ATTRIBUTES_INFO {
2308     pub KeyId: CRYPTOAPI_BLOB,
2309     pub IntendedKeyUsage: CRYPT_BIT_BLOB,
2310     pub pPrivateKeyUsagePeriod: *mut CERT_PRIVATE_KEY_VALIDITY,
2311 }
2312 #[cfg(feature = "Win32_Foundation")]
2313 impl ::core::marker::Copy for CERT_KEY_ATTRIBUTES_INFO {}
2314 #[cfg(feature = "Win32_Foundation")]
2315 impl ::core::clone::Clone for CERT_KEY_ATTRIBUTES_INFO {
clone(&self) -> Self2316     fn clone(&self) -> Self {
2317         *self
2318     }
2319 }
2320 pub const CERT_KEY_CERT_SIGN_KEY_USAGE: u32 = 4u32;
2321 pub const CERT_KEY_CLASSIFICATION_PROP_ID: u32 = 120u32;
2322 #[repr(C)]
2323 pub struct CERT_KEY_CONTEXT {
2324     pub cbSize: u32,
2325     pub Anonymous: CERT_KEY_CONTEXT_0,
2326     pub dwKeySpec: u32,
2327 }
2328 impl ::core::marker::Copy for CERT_KEY_CONTEXT {}
2329 impl ::core::clone::Clone for CERT_KEY_CONTEXT {
clone(&self) -> Self2330     fn clone(&self) -> Self {
2331         *self
2332     }
2333 }
2334 #[repr(C)]
2335 pub union CERT_KEY_CONTEXT_0 {
2336     pub hCryptProv: usize,
2337     pub hNCryptKey: usize,
2338 }
2339 impl ::core::marker::Copy for CERT_KEY_CONTEXT_0 {}
2340 impl ::core::clone::Clone for CERT_KEY_CONTEXT_0 {
clone(&self) -> Self2341     fn clone(&self) -> Self {
2342         *self
2343     }
2344 }
2345 pub const CERT_KEY_CONTEXT_PROP_ID: u32 = 5u32;
2346 pub const CERT_KEY_ENCIPHERMENT_KEY_USAGE: u32 = 32u32;
2347 pub const CERT_KEY_IDENTIFIER_PROP_ID: u32 = 20u32;
2348 pub const CERT_KEY_PROV_HANDLE_PROP_ID: u32 = 1u32;
2349 pub const CERT_KEY_PROV_INFO_PROP_ID: u32 = 2u32;
2350 pub const CERT_KEY_REPAIR_ATTEMPTED_PROP_ID: u32 = 103u32;
2351 pub type CERT_KEY_SPEC = u32;
2352 pub const AT_KEYEXCHANGE: CERT_KEY_SPEC = 1u32;
2353 pub const AT_SIGNATURE: CERT_KEY_SPEC = 2u32;
2354 pub const CERT_NCRYPT_KEY_SPEC: CERT_KEY_SPEC = 4294967295u32;
2355 pub const CERT_KEY_SPEC_PROP_ID: u32 = 6u32;
2356 #[repr(C)]
2357 #[cfg(feature = "Win32_Foundation")]
2358 pub struct CERT_KEY_USAGE_RESTRICTION_INFO {
2359     pub cCertPolicyId: u32,
2360     pub rgCertPolicyId: *mut CERT_POLICY_ID,
2361     pub RestrictedKeyUsage: CRYPT_BIT_BLOB,
2362 }
2363 #[cfg(feature = "Win32_Foundation")]
2364 impl ::core::marker::Copy for CERT_KEY_USAGE_RESTRICTION_INFO {}
2365 #[cfg(feature = "Win32_Foundation")]
2366 impl ::core::clone::Clone for CERT_KEY_USAGE_RESTRICTION_INFO {
clone(&self) -> Self2367     fn clone(&self) -> Self {
2368         *self
2369     }
2370 }
2371 pub const CERT_LAST_RESERVED_PROP_ID: u32 = 32767u32;
2372 pub const CERT_LAST_USER_PROP_ID: u32 = 65535u32;
2373 pub const CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG: u32 = 131072u32;
2374 pub const CERT_LDAP_STORE_OPENED_FLAG: u32 = 262144u32;
2375 #[repr(C)]
2376 #[cfg(feature = "Win32_Foundation")]
2377 pub struct CERT_LDAP_STORE_OPENED_PARA {
2378     pub pvLdapSessionHandle: *mut ::core::ffi::c_void,
2379     pub pwszLdapUrl: super::super::Foundation::PWSTR,
2380 }
2381 #[cfg(feature = "Win32_Foundation")]
2382 impl ::core::marker::Copy for CERT_LDAP_STORE_OPENED_PARA {}
2383 #[cfg(feature = "Win32_Foundation")]
2384 impl ::core::clone::Clone for CERT_LDAP_STORE_OPENED_PARA {
clone(&self) -> Self2385     fn clone(&self) -> Self {
2386         *self
2387     }
2388 }
2389 pub const CERT_LDAP_STORE_SIGN_FLAG: u32 = 65536u32;
2390 pub const CERT_LDAP_STORE_UNBIND_FLAG: u32 = 524288u32;
2391 #[repr(C)]
2392 #[cfg(feature = "Win32_Foundation")]
2393 pub struct CERT_LOGOTYPE_AUDIO {
2394     pub LogotypeDetails: CERT_LOGOTYPE_DETAILS,
2395     pub pLogotypeAudioInfo: *mut CERT_LOGOTYPE_AUDIO_INFO,
2396 }
2397 #[cfg(feature = "Win32_Foundation")]
2398 impl ::core::marker::Copy for CERT_LOGOTYPE_AUDIO {}
2399 #[cfg(feature = "Win32_Foundation")]
2400 impl ::core::clone::Clone for CERT_LOGOTYPE_AUDIO {
clone(&self) -> Self2401     fn clone(&self) -> Self {
2402         *self
2403     }
2404 }
2405 #[repr(C)]
2406 #[cfg(feature = "Win32_Foundation")]
2407 pub struct CERT_LOGOTYPE_AUDIO_INFO {
2408     pub dwFileSize: u32,
2409     pub dwPlayTime: u32,
2410     pub dwChannels: u32,
2411     pub dwSampleRate: u32,
2412     pub pwszLanguage: super::super::Foundation::PWSTR,
2413 }
2414 #[cfg(feature = "Win32_Foundation")]
2415 impl ::core::marker::Copy for CERT_LOGOTYPE_AUDIO_INFO {}
2416 #[cfg(feature = "Win32_Foundation")]
2417 impl ::core::clone::Clone for CERT_LOGOTYPE_AUDIO_INFO {
clone(&self) -> Self2418     fn clone(&self) -> Self {
2419         *self
2420     }
2421 }
2422 pub type CERT_LOGOTYPE_CHOICE = u32;
2423 pub const CERT_LOGOTYPE_NO_IMAGE_RESOLUTION_CHOICE: CERT_LOGOTYPE_CHOICE = 0u32;
2424 pub const CERT_LOGOTYPE_BITS_IMAGE_RESOLUTION_CHOICE: CERT_LOGOTYPE_CHOICE = 1u32;
2425 pub const CERT_LOGOTYPE_TABLE_SIZE_IMAGE_RESOLUTION_CHOICE: CERT_LOGOTYPE_CHOICE = 2u32;
2426 #[repr(C)]
2427 #[cfg(feature = "Win32_Foundation")]
2428 pub struct CERT_LOGOTYPE_DATA {
2429     pub cLogotypeImage: u32,
2430     pub rgLogotypeImage: *mut CERT_LOGOTYPE_IMAGE,
2431     pub cLogotypeAudio: u32,
2432     pub rgLogotypeAudio: *mut CERT_LOGOTYPE_AUDIO,
2433 }
2434 #[cfg(feature = "Win32_Foundation")]
2435 impl ::core::marker::Copy for CERT_LOGOTYPE_DATA {}
2436 #[cfg(feature = "Win32_Foundation")]
2437 impl ::core::clone::Clone for CERT_LOGOTYPE_DATA {
clone(&self) -> Self2438     fn clone(&self) -> Self {
2439         *self
2440     }
2441 }
2442 #[repr(C)]
2443 #[cfg(feature = "Win32_Foundation")]
2444 pub struct CERT_LOGOTYPE_DETAILS {
2445     pub pwszMimeType: super::super::Foundation::PWSTR,
2446     pub cHashedUrl: u32,
2447     pub rgHashedUrl: *mut CERT_HASHED_URL,
2448 }
2449 #[cfg(feature = "Win32_Foundation")]
2450 impl ::core::marker::Copy for CERT_LOGOTYPE_DETAILS {}
2451 #[cfg(feature = "Win32_Foundation")]
2452 impl ::core::clone::Clone for CERT_LOGOTYPE_DETAILS {
clone(&self) -> Self2453     fn clone(&self) -> Self {
2454         *self
2455     }
2456 }
2457 #[repr(C)]
2458 #[cfg(feature = "Win32_Foundation")]
2459 pub struct CERT_LOGOTYPE_EXT_INFO {
2460     pub cCommunityLogo: u32,
2461     pub rgCommunityLogo: *mut CERT_LOGOTYPE_INFO,
2462     pub pIssuerLogo: *mut CERT_LOGOTYPE_INFO,
2463     pub pSubjectLogo: *mut CERT_LOGOTYPE_INFO,
2464     pub cOtherLogo: u32,
2465     pub rgOtherLogo: *mut CERT_OTHER_LOGOTYPE_INFO,
2466 }
2467 #[cfg(feature = "Win32_Foundation")]
2468 impl ::core::marker::Copy for CERT_LOGOTYPE_EXT_INFO {}
2469 #[cfg(feature = "Win32_Foundation")]
2470 impl ::core::clone::Clone for CERT_LOGOTYPE_EXT_INFO {
clone(&self) -> Self2471     fn clone(&self) -> Self {
2472         *self
2473     }
2474 }
2475 #[repr(C)]
2476 #[cfg(feature = "Win32_Foundation")]
2477 pub struct CERT_LOGOTYPE_IMAGE {
2478     pub LogotypeDetails: CERT_LOGOTYPE_DETAILS,
2479     pub pLogotypeImageInfo: *mut CERT_LOGOTYPE_IMAGE_INFO,
2480 }
2481 #[cfg(feature = "Win32_Foundation")]
2482 impl ::core::marker::Copy for CERT_LOGOTYPE_IMAGE {}
2483 #[cfg(feature = "Win32_Foundation")]
2484 impl ::core::clone::Clone for CERT_LOGOTYPE_IMAGE {
clone(&self) -> Self2485     fn clone(&self) -> Self {
2486         *self
2487     }
2488 }
2489 #[repr(C)]
2490 #[cfg(feature = "Win32_Foundation")]
2491 pub struct CERT_LOGOTYPE_IMAGE_INFO {
2492     pub dwLogotypeImageInfoChoice: CERT_LOGOTYPE_IMAGE_INFO_TYPE,
2493     pub dwFileSize: u32,
2494     pub dwXSize: u32,
2495     pub dwYSize: u32,
2496     pub dwLogotypeImageResolutionChoice: CERT_LOGOTYPE_CHOICE,
2497     pub Anonymous: CERT_LOGOTYPE_IMAGE_INFO_0,
2498     pub pwszLanguage: super::super::Foundation::PWSTR,
2499 }
2500 #[cfg(feature = "Win32_Foundation")]
2501 impl ::core::marker::Copy for CERT_LOGOTYPE_IMAGE_INFO {}
2502 #[cfg(feature = "Win32_Foundation")]
2503 impl ::core::clone::Clone for CERT_LOGOTYPE_IMAGE_INFO {
clone(&self) -> Self2504     fn clone(&self) -> Self {
2505         *self
2506     }
2507 }
2508 #[repr(C)]
2509 #[cfg(feature = "Win32_Foundation")]
2510 pub union CERT_LOGOTYPE_IMAGE_INFO_0 {
2511     pub dwNumBits: u32,
2512     pub dwTableSize: u32,
2513 }
2514 #[cfg(feature = "Win32_Foundation")]
2515 impl ::core::marker::Copy for CERT_LOGOTYPE_IMAGE_INFO_0 {}
2516 #[cfg(feature = "Win32_Foundation")]
2517 impl ::core::clone::Clone for CERT_LOGOTYPE_IMAGE_INFO_0 {
clone(&self) -> Self2518     fn clone(&self) -> Self {
2519         *self
2520     }
2521 }
2522 pub type CERT_LOGOTYPE_IMAGE_INFO_TYPE = u32;
2523 pub const CERT_LOGOTYPE_GRAY_SCALE_IMAGE_INFO_CHOICE: CERT_LOGOTYPE_IMAGE_INFO_TYPE = 1u32;
2524 pub const CERT_LOGOTYPE_COLOR_IMAGE_INFO_CHOICE: CERT_LOGOTYPE_IMAGE_INFO_TYPE = 2u32;
2525 #[repr(C)]
2526 #[cfg(feature = "Win32_Foundation")]
2527 pub struct CERT_LOGOTYPE_INFO {
2528     pub dwLogotypeInfoChoice: CERT_LOGOTYPE_OPTION,
2529     pub Anonymous: CERT_LOGOTYPE_INFO_0,
2530 }
2531 #[cfg(feature = "Win32_Foundation")]
2532 impl ::core::marker::Copy for CERT_LOGOTYPE_INFO {}
2533 #[cfg(feature = "Win32_Foundation")]
2534 impl ::core::clone::Clone for CERT_LOGOTYPE_INFO {
clone(&self) -> Self2535     fn clone(&self) -> Self {
2536         *self
2537     }
2538 }
2539 #[repr(C)]
2540 #[cfg(feature = "Win32_Foundation")]
2541 pub union CERT_LOGOTYPE_INFO_0 {
2542     pub pLogotypeDirectInfo: *mut CERT_LOGOTYPE_DATA,
2543     pub pLogotypeIndirectInfo: *mut CERT_LOGOTYPE_REFERENCE,
2544 }
2545 #[cfg(feature = "Win32_Foundation")]
2546 impl ::core::marker::Copy for CERT_LOGOTYPE_INFO_0 {}
2547 #[cfg(feature = "Win32_Foundation")]
2548 impl ::core::clone::Clone for CERT_LOGOTYPE_INFO_0 {
clone(&self) -> Self2549     fn clone(&self) -> Self {
2550         *self
2551     }
2552 }
2553 pub type CERT_LOGOTYPE_OPTION = u32;
2554 pub const CERT_LOGOTYPE_DIRECT_INFO_CHOICE: CERT_LOGOTYPE_OPTION = 1u32;
2555 pub const CERT_LOGOTYPE_INDIRECT_INFO_CHOICE: CERT_LOGOTYPE_OPTION = 2u32;
2556 #[repr(C)]
2557 #[cfg(feature = "Win32_Foundation")]
2558 pub struct CERT_LOGOTYPE_REFERENCE {
2559     pub cHashedUrl: u32,
2560     pub rgHashedUrl: *mut CERT_HASHED_URL,
2561 }
2562 #[cfg(feature = "Win32_Foundation")]
2563 impl ::core::marker::Copy for CERT_LOGOTYPE_REFERENCE {}
2564 #[cfg(feature = "Win32_Foundation")]
2565 impl ::core::clone::Clone for CERT_LOGOTYPE_REFERENCE {
clone(&self) -> Self2566     fn clone(&self) -> Self {
2567         *self
2568     }
2569 }
2570 pub const CERT_MD5_HASH_PROP_ID: u32 = 4u32;
2571 pub const CERT_NAME_ATTR_TYPE: u32 = 3u32;
2572 #[repr(C)]
2573 #[cfg(feature = "Win32_Foundation")]
2574 pub struct CERT_NAME_CONSTRAINTS_INFO {
2575     pub cPermittedSubtree: u32,
2576     pub rgPermittedSubtree: *mut CERT_GENERAL_SUBTREE,
2577     pub cExcludedSubtree: u32,
2578     pub rgExcludedSubtree: *mut CERT_GENERAL_SUBTREE,
2579 }
2580 #[cfg(feature = "Win32_Foundation")]
2581 impl ::core::marker::Copy for CERT_NAME_CONSTRAINTS_INFO {}
2582 #[cfg(feature = "Win32_Foundation")]
2583 impl ::core::clone::Clone for CERT_NAME_CONSTRAINTS_INFO {
clone(&self) -> Self2584     fn clone(&self) -> Self {
2585         *self
2586     }
2587 }
2588 pub const CERT_NAME_DISABLE_IE4_UTF8_FLAG: u32 = 65536u32;
2589 pub const CERT_NAME_DNS_TYPE: u32 = 6u32;
2590 pub const CERT_NAME_EMAIL_TYPE: u32 = 1u32;
2591 pub const CERT_NAME_FRIENDLY_DISPLAY_TYPE: u32 = 5u32;
2592 #[repr(C)]
2593 #[cfg(feature = "Win32_Foundation")]
2594 pub struct CERT_NAME_INFO {
2595     pub cRDN: u32,
2596     pub rgRDN: *mut CERT_RDN,
2597 }
2598 #[cfg(feature = "Win32_Foundation")]
2599 impl ::core::marker::Copy for CERT_NAME_INFO {}
2600 #[cfg(feature = "Win32_Foundation")]
2601 impl ::core::clone::Clone for CERT_NAME_INFO {
clone(&self) -> Self2602     fn clone(&self) -> Self {
2603         *self
2604     }
2605 }
2606 pub const CERT_NAME_ISSUER_FLAG: u32 = 1u32;
2607 pub const CERT_NAME_RDN_TYPE: u32 = 2u32;
2608 pub const CERT_NAME_SEARCH_ALL_NAMES_FLAG: u32 = 2u32;
2609 pub const CERT_NAME_SIMPLE_DISPLAY_TYPE: u32 = 4u32;
2610 pub const CERT_NAME_STR_COMMA_FLAG: u32 = 67108864u32;
2611 pub const CERT_NAME_STR_CRLF_FLAG: u32 = 134217728u32;
2612 pub const CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG: u32 = 65536u32;
2613 pub const CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG: u32 = 1048576u32;
2614 pub const CERT_NAME_STR_ENABLE_PUNYCODE_FLAG: u32 = 2097152u32;
2615 pub const CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG: u32 = 131072u32;
2616 pub const CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG: u32 = 262144u32;
2617 pub const CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG: u32 = 524288u32;
2618 pub const CERT_NAME_STR_FORWARD_FLAG: u32 = 16777216u32;
2619 pub const CERT_NAME_STR_NO_PLUS_FLAG: u32 = 536870912u32;
2620 pub const CERT_NAME_STR_NO_QUOTING_FLAG: u32 = 268435456u32;
2621 pub const CERT_NAME_STR_REVERSE_FLAG: u32 = 33554432u32;
2622 pub const CERT_NAME_STR_SEMICOLON_FLAG: u32 = 1073741824u32;
2623 pub const CERT_NAME_UPN_TYPE: u32 = 8u32;
2624 pub const CERT_NAME_URL_TYPE: u32 = 7u32;
2625 #[repr(C)]
2626 pub struct CERT_NAME_VALUE {
2627     pub dwValueType: u32,
2628     pub Value: CRYPTOAPI_BLOB,
2629 }
2630 impl ::core::marker::Copy for CERT_NAME_VALUE {}
2631 impl ::core::clone::Clone for CERT_NAME_VALUE {
clone(&self) -> Self2632     fn clone(&self) -> Self {
2633         *self
2634     }
2635 }
2636 pub const CERT_NCRYPT_KEY_HANDLE_PROP_ID: u32 = 78u32;
2637 pub const CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID: u32 = 99u32;
2638 pub const CERT_NEW_KEY_PROP_ID: u32 = 74u32;
2639 pub const CERT_NEXT_UPDATE_LOCATION_PROP_ID: u32 = 10u32;
2640 pub const CERT_NONCOMPLIANT_ROOT_URL_PROP_ID: u32 = 123u32;
2641 pub const CERT_NON_REPUDIATION_KEY_USAGE: u32 = 64u32;
2642 pub const CERT_NOT_BEFORE_ENHKEY_USAGE_PROP_ID: u32 = 127u32;
2643 pub const CERT_NOT_BEFORE_FILETIME_PROP_ID: u32 = 126u32;
2644 pub const CERT_NO_AUTO_EXPIRE_CHECK_PROP_ID: u32 = 77u32;
2645 pub const CERT_NO_EXPIRE_NOTIFICATION_PROP_ID: u32 = 97u32;
2646 pub const CERT_OCSP_CACHE_PREFIX_PROP_ID: u32 = 75u32;
2647 pub const CERT_OCSP_MUST_STAPLE_PROP_ID: u32 = 121u32;
2648 pub const CERT_OCSP_RESPONSE_PROP_ID: u32 = 70u32;
2649 pub const CERT_OFFLINE_CRL_SIGN_KEY_USAGE: u32 = 2u32;
2650 pub type CERT_OPEN_STORE_FLAGS = u32;
2651 pub const CERT_STORE_BACKUP_RESTORE_FLAG: CERT_OPEN_STORE_FLAGS = 2048u32;
2652 pub const CERT_STORE_CREATE_NEW_FLAG: CERT_OPEN_STORE_FLAGS = 8192u32;
2653 pub const CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG: CERT_OPEN_STORE_FLAGS = 4u32;
2654 pub const CERT_STORE_DELETE_FLAG: CERT_OPEN_STORE_FLAGS = 16u32;
2655 pub const CERT_STORE_ENUM_ARCHIVED_FLAG: CERT_OPEN_STORE_FLAGS = 512u32;
2656 pub const CERT_STORE_MAXIMUM_ALLOWED_FLAG: CERT_OPEN_STORE_FLAGS = 4096u32;
2657 pub const CERT_STORE_NO_CRYPT_RELEASE_FLAG: CERT_OPEN_STORE_FLAGS = 1u32;
2658 pub const CERT_STORE_OPEN_EXISTING_FLAG: CERT_OPEN_STORE_FLAGS = 16384u32;
2659 pub const CERT_STORE_READONLY_FLAG: CERT_OPEN_STORE_FLAGS = 32768u32;
2660 pub const CERT_STORE_SET_LOCALIZED_NAME_FLAG: CERT_OPEN_STORE_FLAGS = 2u32;
2661 pub const CERT_STORE_SHARE_CONTEXT_FLAG: CERT_OPEN_STORE_FLAGS = 128u32;
2662 pub const CERT_STORE_UPDATE_KEYID_FLAG: CERT_OPEN_STORE_FLAGS = 1024u32;
2663 #[repr(C)]
2664 pub struct CERT_OR_CRL_BLOB {
2665     pub dwChoice: u32,
2666     pub cbEncoded: u32,
2667     pub pbEncoded: *mut u8,
2668 }
2669 impl ::core::marker::Copy for CERT_OR_CRL_BLOB {}
2670 impl ::core::clone::Clone for CERT_OR_CRL_BLOB {
clone(&self) -> Self2671     fn clone(&self) -> Self {
2672         *self
2673     }
2674 }
2675 #[repr(C)]
2676 pub struct CERT_OR_CRL_BUNDLE {
2677     pub cItem: u32,
2678     pub rgItem: *mut CERT_OR_CRL_BLOB,
2679 }
2680 impl ::core::marker::Copy for CERT_OR_CRL_BUNDLE {}
2681 impl ::core::clone::Clone for CERT_OR_CRL_BUNDLE {
clone(&self) -> Self2682     fn clone(&self) -> Self {
2683         *self
2684     }
2685 }
2686 #[repr(C)]
2687 #[cfg(feature = "Win32_Foundation")]
2688 pub struct CERT_OTHER_LOGOTYPE_INFO {
2689     pub pszObjId: super::super::Foundation::PSTR,
2690     pub LogotypeInfo: CERT_LOGOTYPE_INFO,
2691 }
2692 #[cfg(feature = "Win32_Foundation")]
2693 impl ::core::marker::Copy for CERT_OTHER_LOGOTYPE_INFO {}
2694 #[cfg(feature = "Win32_Foundation")]
2695 impl ::core::clone::Clone for CERT_OTHER_LOGOTYPE_INFO {
clone(&self) -> Self2696     fn clone(&self) -> Self {
2697         *self
2698     }
2699 }
2700 #[repr(C)]
2701 #[cfg(feature = "Win32_Foundation")]
2702 pub struct CERT_OTHER_NAME {
2703     pub pszObjId: super::super::Foundation::PSTR,
2704     pub Value: CRYPTOAPI_BLOB,
2705 }
2706 #[cfg(feature = "Win32_Foundation")]
2707 impl ::core::marker::Copy for CERT_OTHER_NAME {}
2708 #[cfg(feature = "Win32_Foundation")]
2709 impl ::core::clone::Clone for CERT_OTHER_NAME {
clone(&self) -> Self2710     fn clone(&self) -> Self {
2711         *self
2712     }
2713 }
2714 #[repr(C)]
2715 pub struct CERT_PAIR {
2716     pub Forward: CRYPTOAPI_BLOB,
2717     pub Reverse: CRYPTOAPI_BLOB,
2718 }
2719 impl ::core::marker::Copy for CERT_PAIR {}
2720 impl ::core::clone::Clone for CERT_PAIR {
clone(&self) -> Self2721     fn clone(&self) -> Self {
2722         *self
2723     }
2724 }
2725 pub const CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG: u32 = 1u32;
2726 #[repr(C)]
2727 #[cfg(feature = "Win32_Foundation")]
2728 pub struct CERT_PHYSICAL_STORE_INFO {
2729     pub cbSize: u32,
2730     pub pszOpenStoreProvider: super::super::Foundation::PSTR,
2731     pub dwOpenEncodingType: u32,
2732     pub dwOpenFlags: u32,
2733     pub OpenParameters: CRYPTOAPI_BLOB,
2734     pub dwFlags: u32,
2735     pub dwPriority: u32,
2736 }
2737 #[cfg(feature = "Win32_Foundation")]
2738 impl ::core::marker::Copy for CERT_PHYSICAL_STORE_INFO {}
2739 #[cfg(feature = "Win32_Foundation")]
2740 impl ::core::clone::Clone for CERT_PHYSICAL_STORE_INFO {
clone(&self) -> Self2741     fn clone(&self) -> Self {
2742         *self
2743     }
2744 }
2745 pub const CERT_PHYSICAL_STORE_INSERT_COMPUTER_NAME_ENABLE_FLAG: u32 = 8u32;
2746 pub const CERT_PHYSICAL_STORE_OPEN_DISABLE_FLAG: u32 = 2u32;
2747 pub const CERT_PHYSICAL_STORE_PREDEFINED_ENUM_FLAG: u32 = 1u32;
2748 pub const CERT_PHYSICAL_STORE_REMOTE_OPEN_DISABLE_FLAG: u32 = 4u32;
2749 pub const CERT_PIN_SHA256_HASH_PROP_ID: u32 = 124u32;
2750 #[repr(C)]
2751 #[cfg(feature = "Win32_Foundation")]
2752 pub struct CERT_POLICIES_INFO {
2753     pub cPolicyInfo: u32,
2754     pub rgPolicyInfo: *mut CERT_POLICY_INFO,
2755 }
2756 #[cfg(feature = "Win32_Foundation")]
2757 impl ::core::marker::Copy for CERT_POLICIES_INFO {}
2758 #[cfg(feature = "Win32_Foundation")]
2759 impl ::core::clone::Clone for CERT_POLICIES_INFO {
clone(&self) -> Self2760     fn clone(&self) -> Self {
2761         *self
2762     }
2763 }
2764 #[repr(C)]
2765 #[cfg(feature = "Win32_Foundation")]
2766 pub struct CERT_POLICY95_QUALIFIER1 {
2767     pub pszPracticesReference: super::super::Foundation::PWSTR,
2768     pub pszNoticeIdentifier: super::super::Foundation::PSTR,
2769     pub pszNSINoticeIdentifier: super::super::Foundation::PSTR,
2770     pub cCPSURLs: u32,
2771     pub rgCPSURLs: *mut CPS_URLS,
2772 }
2773 #[cfg(feature = "Win32_Foundation")]
2774 impl ::core::marker::Copy for CERT_POLICY95_QUALIFIER1 {}
2775 #[cfg(feature = "Win32_Foundation")]
2776 impl ::core::clone::Clone for CERT_POLICY95_QUALIFIER1 {
clone(&self) -> Self2777     fn clone(&self) -> Self {
2778         *self
2779     }
2780 }
2781 #[repr(C)]
2782 #[cfg(feature = "Win32_Foundation")]
2783 pub struct CERT_POLICY_CONSTRAINTS_INFO {
2784     pub fRequireExplicitPolicy: super::super::Foundation::BOOL,
2785     pub dwRequireExplicitPolicySkipCerts: u32,
2786     pub fInhibitPolicyMapping: super::super::Foundation::BOOL,
2787     pub dwInhibitPolicyMappingSkipCerts: u32,
2788 }
2789 #[cfg(feature = "Win32_Foundation")]
2790 impl ::core::marker::Copy for CERT_POLICY_CONSTRAINTS_INFO {}
2791 #[cfg(feature = "Win32_Foundation")]
2792 impl ::core::clone::Clone for CERT_POLICY_CONSTRAINTS_INFO {
clone(&self) -> Self2793     fn clone(&self) -> Self {
2794         *self
2795     }
2796 }
2797 #[repr(C)]
2798 #[cfg(feature = "Win32_Foundation")]
2799 pub struct CERT_POLICY_ID {
2800     pub cCertPolicyElementId: u32,
2801     pub rgpszCertPolicyElementId: *mut super::super::Foundation::PSTR,
2802 }
2803 #[cfg(feature = "Win32_Foundation")]
2804 impl ::core::marker::Copy for CERT_POLICY_ID {}
2805 #[cfg(feature = "Win32_Foundation")]
2806 impl ::core::clone::Clone for CERT_POLICY_ID {
clone(&self) -> Self2807     fn clone(&self) -> Self {
2808         *self
2809     }
2810 }
2811 #[repr(C)]
2812 #[cfg(feature = "Win32_Foundation")]
2813 pub struct CERT_POLICY_INFO {
2814     pub pszPolicyIdentifier: super::super::Foundation::PSTR,
2815     pub cPolicyQualifier: u32,
2816     pub rgPolicyQualifier: *mut CERT_POLICY_QUALIFIER_INFO,
2817 }
2818 #[cfg(feature = "Win32_Foundation")]
2819 impl ::core::marker::Copy for CERT_POLICY_INFO {}
2820 #[cfg(feature = "Win32_Foundation")]
2821 impl ::core::clone::Clone for CERT_POLICY_INFO {
clone(&self) -> Self2822     fn clone(&self) -> Self {
2823         *self
2824     }
2825 }
2826 #[repr(C)]
2827 #[cfg(feature = "Win32_Foundation")]
2828 pub struct CERT_POLICY_MAPPING {
2829     pub pszIssuerDomainPolicy: super::super::Foundation::PSTR,
2830     pub pszSubjectDomainPolicy: super::super::Foundation::PSTR,
2831 }
2832 #[cfg(feature = "Win32_Foundation")]
2833 impl ::core::marker::Copy for CERT_POLICY_MAPPING {}
2834 #[cfg(feature = "Win32_Foundation")]
2835 impl ::core::clone::Clone for CERT_POLICY_MAPPING {
clone(&self) -> Self2836     fn clone(&self) -> Self {
2837         *self
2838     }
2839 }
2840 #[repr(C)]
2841 #[cfg(feature = "Win32_Foundation")]
2842 pub struct CERT_POLICY_MAPPINGS_INFO {
2843     pub cPolicyMapping: u32,
2844     pub rgPolicyMapping: *mut CERT_POLICY_MAPPING,
2845 }
2846 #[cfg(feature = "Win32_Foundation")]
2847 impl ::core::marker::Copy for CERT_POLICY_MAPPINGS_INFO {}
2848 #[cfg(feature = "Win32_Foundation")]
2849 impl ::core::clone::Clone for CERT_POLICY_MAPPINGS_INFO {
clone(&self) -> Self2850     fn clone(&self) -> Self {
2851         *self
2852     }
2853 }
2854 #[repr(C)]
2855 #[cfg(feature = "Win32_Foundation")]
2856 pub struct CERT_POLICY_QUALIFIER_INFO {
2857     pub pszPolicyQualifierId: super::super::Foundation::PSTR,
2858     pub Qualifier: CRYPTOAPI_BLOB,
2859 }
2860 #[cfg(feature = "Win32_Foundation")]
2861 impl ::core::marker::Copy for CERT_POLICY_QUALIFIER_INFO {}
2862 #[cfg(feature = "Win32_Foundation")]
2863 impl ::core::clone::Clone for CERT_POLICY_QUALIFIER_INFO {
clone(&self) -> Self2864     fn clone(&self) -> Self {
2865         *self
2866     }
2867 }
2868 #[repr(C)]
2869 #[cfg(feature = "Win32_Foundation")]
2870 pub struct CERT_POLICY_QUALIFIER_NOTICE_REFERENCE {
2871     pub pszOrganization: super::super::Foundation::PSTR,
2872     pub cNoticeNumbers: u32,
2873     pub rgNoticeNumbers: *mut i32,
2874 }
2875 #[cfg(feature = "Win32_Foundation")]
2876 impl ::core::marker::Copy for CERT_POLICY_QUALIFIER_NOTICE_REFERENCE {}
2877 #[cfg(feature = "Win32_Foundation")]
2878 impl ::core::clone::Clone for CERT_POLICY_QUALIFIER_NOTICE_REFERENCE {
clone(&self) -> Self2879     fn clone(&self) -> Self {
2880         *self
2881     }
2882 }
2883 #[repr(C)]
2884 #[cfg(feature = "Win32_Foundation")]
2885 pub struct CERT_POLICY_QUALIFIER_USER_NOTICE {
2886     pub pNoticeReference: *mut CERT_POLICY_QUALIFIER_NOTICE_REFERENCE,
2887     pub pszDisplayText: super::super::Foundation::PWSTR,
2888 }
2889 #[cfg(feature = "Win32_Foundation")]
2890 impl ::core::marker::Copy for CERT_POLICY_QUALIFIER_USER_NOTICE {}
2891 #[cfg(feature = "Win32_Foundation")]
2892 impl ::core::clone::Clone for CERT_POLICY_QUALIFIER_USER_NOTICE {
clone(&self) -> Self2893     fn clone(&self) -> Self {
2894         *self
2895     }
2896 }
2897 #[repr(C)]
2898 #[cfg(feature = "Win32_Foundation")]
2899 pub struct CERT_PRIVATE_KEY_VALIDITY {
2900     pub NotBefore: super::super::Foundation::FILETIME,
2901     pub NotAfter: super::super::Foundation::FILETIME,
2902 }
2903 #[cfg(feature = "Win32_Foundation")]
2904 impl ::core::marker::Copy for CERT_PRIVATE_KEY_VALIDITY {}
2905 #[cfg(feature = "Win32_Foundation")]
2906 impl ::core::clone::Clone for CERT_PRIVATE_KEY_VALIDITY {
clone(&self) -> Self2907     fn clone(&self) -> Self {
2908         *self
2909     }
2910 }
2911 pub const CERT_PROT_ROOT_DISABLE_CURRENT_USER_FLAG: u32 = 1u32;
2912 pub const CERT_PROT_ROOT_DISABLE_LM_AUTH_FLAG: u32 = 8u32;
2913 pub const CERT_PROT_ROOT_DISABLE_NOT_DEFINED_NAME_CONSTRAINT_FLAG: u32 = 32u32;
2914 pub const CERT_PROT_ROOT_DISABLE_NT_AUTH_REQUIRED_FLAG: u32 = 16u32;
2915 pub const CERT_PROT_ROOT_DISABLE_PEER_TRUST: u32 = 65536u32;
2916 pub const CERT_PROT_ROOT_INHIBIT_ADD_AT_INIT_FLAG: u32 = 2u32;
2917 pub const CERT_PROT_ROOT_INHIBIT_PURGE_LM_FLAG: u32 = 4u32;
2918 pub const CERT_PROT_ROOT_ONLY_LM_GPT_FLAG: u32 = 8u32;
2919 pub const CERT_PUBKEY_ALG_PARA_PROP_ID: u32 = 22u32;
2920 pub const CERT_PUBKEY_HASH_RESERVED_PROP_ID: u32 = 8u32;
2921 #[repr(C)]
2922 #[cfg(feature = "Win32_Foundation")]
2923 pub struct CERT_PUBLIC_KEY_INFO {
2924     pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER,
2925     pub PublicKey: CRYPT_BIT_BLOB,
2926 }
2927 #[cfg(feature = "Win32_Foundation")]
2928 impl ::core::marker::Copy for CERT_PUBLIC_KEY_INFO {}
2929 #[cfg(feature = "Win32_Foundation")]
2930 impl ::core::clone::Clone for CERT_PUBLIC_KEY_INFO {
clone(&self) -> Self2931     fn clone(&self) -> Self {
2932         *self
2933     }
2934 }
2935 pub const CERT_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID: u32 = 93u32;
2936 pub const CERT_PVK_FILE_PROP_ID: u32 = 12u32;
2937 #[repr(C)]
2938 #[cfg(feature = "Win32_Foundation")]
2939 pub struct CERT_QC_STATEMENT {
2940     pub pszStatementId: super::super::Foundation::PSTR,
2941     pub StatementInfo: CRYPTOAPI_BLOB,
2942 }
2943 #[cfg(feature = "Win32_Foundation")]
2944 impl ::core::marker::Copy for CERT_QC_STATEMENT {}
2945 #[cfg(feature = "Win32_Foundation")]
2946 impl ::core::clone::Clone for CERT_QC_STATEMENT {
clone(&self) -> Self2947     fn clone(&self) -> Self {
2948         *self
2949     }
2950 }
2951 #[repr(C)]
2952 #[cfg(feature = "Win32_Foundation")]
2953 pub struct CERT_QC_STATEMENTS_EXT_INFO {
2954     pub cStatement: u32,
2955     pub rgStatement: *mut CERT_QC_STATEMENT,
2956 }
2957 #[cfg(feature = "Win32_Foundation")]
2958 impl ::core::marker::Copy for CERT_QC_STATEMENTS_EXT_INFO {}
2959 #[cfg(feature = "Win32_Foundation")]
2960 impl ::core::clone::Clone for CERT_QC_STATEMENTS_EXT_INFO {
clone(&self) -> Self2961     fn clone(&self) -> Self {
2962         *self
2963     }
2964 }
2965 pub type CERT_QUERY_CONTENT_TYPE = u32;
2966 pub const CERT_QUERY_CONTENT_CERT: CERT_QUERY_CONTENT_TYPE = 1u32;
2967 pub const CERT_QUERY_CONTENT_CTL: CERT_QUERY_CONTENT_TYPE = 2u32;
2968 pub const CERT_QUERY_CONTENT_CRL: CERT_QUERY_CONTENT_TYPE = 3u32;
2969 pub const CERT_QUERY_CONTENT_SERIALIZED_STORE: CERT_QUERY_CONTENT_TYPE = 4u32;
2970 pub const CERT_QUERY_CONTENT_SERIALIZED_CERT: CERT_QUERY_CONTENT_TYPE = 5u32;
2971 pub const CERT_QUERY_CONTENT_SERIALIZED_CTL: CERT_QUERY_CONTENT_TYPE = 6u32;
2972 pub const CERT_QUERY_CONTENT_SERIALIZED_CRL: CERT_QUERY_CONTENT_TYPE = 7u32;
2973 pub const CERT_QUERY_CONTENT_PKCS7_SIGNED: CERT_QUERY_CONTENT_TYPE = 8u32;
2974 pub const CERT_QUERY_CONTENT_PKCS7_UNSIGNED: CERT_QUERY_CONTENT_TYPE = 9u32;
2975 pub const CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED: CERT_QUERY_CONTENT_TYPE = 10u32;
2976 pub const CERT_QUERY_CONTENT_PKCS10: CERT_QUERY_CONTENT_TYPE = 11u32;
2977 pub const CERT_QUERY_CONTENT_PFX: CERT_QUERY_CONTENT_TYPE = 12u32;
2978 pub const CERT_QUERY_CONTENT_CERT_PAIR: CERT_QUERY_CONTENT_TYPE = 13u32;
2979 pub const CERT_QUERY_CONTENT_PFX_AND_LOAD: CERT_QUERY_CONTENT_TYPE = 14u32;
2980 pub type CERT_QUERY_CONTENT_TYPE_FLAGS = u32;
2981 pub const CERT_QUERY_CONTENT_FLAG_CERT: CERT_QUERY_CONTENT_TYPE_FLAGS = 2u32;
2982 pub const CERT_QUERY_CONTENT_FLAG_CTL: CERT_QUERY_CONTENT_TYPE_FLAGS = 4u32;
2983 pub const CERT_QUERY_CONTENT_FLAG_CRL: CERT_QUERY_CONTENT_TYPE_FLAGS = 8u32;
2984 pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE: CERT_QUERY_CONTENT_TYPE_FLAGS = 16u32;
2985 pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT: CERT_QUERY_CONTENT_TYPE_FLAGS = 32u32;
2986 pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL: CERT_QUERY_CONTENT_TYPE_FLAGS = 64u32;
2987 pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL: CERT_QUERY_CONTENT_TYPE_FLAGS = 128u32;
2988 pub const CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED: CERT_QUERY_CONTENT_TYPE_FLAGS = 256u32;
2989 pub const CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED: CERT_QUERY_CONTENT_TYPE_FLAGS = 512u32;
2990 pub const CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED: CERT_QUERY_CONTENT_TYPE_FLAGS = 1024u32;
2991 pub const CERT_QUERY_CONTENT_FLAG_PKCS10: CERT_QUERY_CONTENT_TYPE_FLAGS = 2048u32;
2992 pub const CERT_QUERY_CONTENT_FLAG_PFX: CERT_QUERY_CONTENT_TYPE_FLAGS = 4096u32;
2993 pub const CERT_QUERY_CONTENT_FLAG_CERT_PAIR: CERT_QUERY_CONTENT_TYPE_FLAGS = 8192u32;
2994 pub const CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD: CERT_QUERY_CONTENT_TYPE_FLAGS = 16384u32;
2995 pub const CERT_QUERY_CONTENT_FLAG_ALL: CERT_QUERY_CONTENT_TYPE_FLAGS = 16382u32;
2996 pub const CERT_QUERY_CONTENT_FLAG_ALL_ISSUER_CERT: CERT_QUERY_CONTENT_TYPE_FLAGS = 818u32;
2997 pub type CERT_QUERY_ENCODING_TYPE = u32;
2998 pub const X509_ASN_ENCODING: CERT_QUERY_ENCODING_TYPE = 1u32;
2999 pub const PKCS_7_ASN_ENCODING: CERT_QUERY_ENCODING_TYPE = 65536u32;
3000 pub type CERT_QUERY_FORMAT_TYPE = u32;
3001 pub const CERT_QUERY_FORMAT_BINARY: CERT_QUERY_FORMAT_TYPE = 1u32;
3002 pub const CERT_QUERY_FORMAT_BASE64_ENCODED: CERT_QUERY_FORMAT_TYPE = 2u32;
3003 pub const CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED: CERT_QUERY_FORMAT_TYPE = 3u32;
3004 pub type CERT_QUERY_FORMAT_TYPE_FLAGS = u32;
3005 pub const CERT_QUERY_FORMAT_FLAG_BINARY: CERT_QUERY_FORMAT_TYPE_FLAGS = 2u32;
3006 pub const CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED: CERT_QUERY_FORMAT_TYPE_FLAGS = 4u32;
3007 pub const CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED: CERT_QUERY_FORMAT_TYPE_FLAGS = 8u32;
3008 pub const CERT_QUERY_FORMAT_FLAG_ALL: CERT_QUERY_FORMAT_TYPE_FLAGS = 14u32;
3009 pub type CERT_QUERY_OBJECT_TYPE = u32;
3010 pub const CERT_QUERY_OBJECT_FILE: CERT_QUERY_OBJECT_TYPE = 1u32;
3011 pub const CERT_QUERY_OBJECT_BLOB: CERT_QUERY_OBJECT_TYPE = 2u32;
3012 #[repr(C)]
3013 #[cfg(feature = "Win32_Foundation")]
3014 pub struct CERT_RDN {
3015     pub cRDNAttr: u32,
3016     pub rgRDNAttr: *mut CERT_RDN_ATTR,
3017 }
3018 #[cfg(feature = "Win32_Foundation")]
3019 impl ::core::marker::Copy for CERT_RDN {}
3020 #[cfg(feature = "Win32_Foundation")]
3021 impl ::core::clone::Clone for CERT_RDN {
clone(&self) -> Self3022     fn clone(&self) -> Self {
3023         *self
3024     }
3025 }
3026 #[repr(C)]
3027 #[cfg(feature = "Win32_Foundation")]
3028 pub struct CERT_RDN_ATTR {
3029     pub pszObjId: super::super::Foundation::PSTR,
3030     pub dwValueType: CERT_RDN_ATTR_VALUE_TYPE,
3031     pub Value: CRYPTOAPI_BLOB,
3032 }
3033 #[cfg(feature = "Win32_Foundation")]
3034 impl ::core::marker::Copy for CERT_RDN_ATTR {}
3035 #[cfg(feature = "Win32_Foundation")]
3036 impl ::core::clone::Clone for CERT_RDN_ATTR {
clone(&self) -> Self3037     fn clone(&self) -> Self {
3038         *self
3039     }
3040 }
3041 pub type CERT_RDN_ATTR_VALUE_TYPE = u32;
3042 pub const CERT_RDN_ANY_TYPE: CERT_RDN_ATTR_VALUE_TYPE = 0u32;
3043 pub const CERT_RDN_NUMERIC_STRING: CERT_RDN_ATTR_VALUE_TYPE = 3u32;
3044 pub const CERT_RDN_PRINTABLE_STRING: CERT_RDN_ATTR_VALUE_TYPE = 4u32;
3045 pub const CERT_RDN_T61_STRING: CERT_RDN_ATTR_VALUE_TYPE = 5u32;
3046 pub const CERT_RDN_VIDEOTEX_STRING: CERT_RDN_ATTR_VALUE_TYPE = 6u32;
3047 pub const CERT_RDN_IA5_STRING: CERT_RDN_ATTR_VALUE_TYPE = 7u32;
3048 pub const CERT_RDN_GRAPHIC_STRING: CERT_RDN_ATTR_VALUE_TYPE = 8u32;
3049 pub const CERT_RDN_ISO646_STRING: CERT_RDN_ATTR_VALUE_TYPE = 9u32;
3050 pub const CERT_RDN_GENERAL_STRING: CERT_RDN_ATTR_VALUE_TYPE = 10u32;
3051 pub const CERT_RDN_INT4_STRING: CERT_RDN_ATTR_VALUE_TYPE = 11u32;
3052 pub const CERT_RDN_UNICODE_STRING: CERT_RDN_ATTR_VALUE_TYPE = 12u32;
3053 pub const CERT_RDN_BMP_STRING: CERT_RDN_ATTR_VALUE_TYPE = 12u32;
3054 pub const CERT_RDN_ENCODED_BLOB: CERT_RDN_ATTR_VALUE_TYPE = 1u32;
3055 pub const CERT_RDN_OCTET_STRING: CERT_RDN_ATTR_VALUE_TYPE = 2u32;
3056 pub const CERT_RDN_TELETEX_STRING: CERT_RDN_ATTR_VALUE_TYPE = 5u32;
3057 pub const CERT_RDN_UNIVERSAL_STRING: CERT_RDN_ATTR_VALUE_TYPE = 11u32;
3058 pub const CERT_RDN_UTF8_STRING: CERT_RDN_ATTR_VALUE_TYPE = 13u32;
3059 pub const CERT_RDN_VISIBLE_STRING: CERT_RDN_ATTR_VALUE_TYPE = 9u32;
3060 pub const CERT_RDN_DISABLE_CHECK_TYPE_FLAG: u32 = 1073741824u32;
3061 pub const CERT_RDN_DISABLE_IE4_UTF8_FLAG: u32 = 16777216u32;
3062 pub const CERT_RDN_ENABLE_PUNYCODE_FLAG: u32 = 33554432u32;
3063 pub const CERT_RDN_ENABLE_T61_UNICODE_FLAG: u32 = 2147483648u32;
3064 pub const CERT_RDN_ENABLE_UTF8_UNICODE_FLAG: u32 = 536870912u32;
3065 pub const CERT_RDN_FLAGS_MASK: u32 = 4278190080u32;
3066 pub const CERT_RDN_FORCE_UTF8_UNICODE_FLAG: u32 = 268435456u32;
3067 pub const CERT_RDN_TYPE_MASK: u32 = 255u32;
3068 pub const CERT_REGISTRY_STORE_CLIENT_GPT_FLAG: u32 = 2147483648u32;
3069 #[repr(C)]
3070 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3071 pub struct CERT_REGISTRY_STORE_CLIENT_GPT_PARA {
3072     pub hKeyBase: super::super::System::Registry::HKEY,
3073     pub pwszRegPath: super::super::Foundation::PWSTR,
3074 }
3075 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3076 impl ::core::marker::Copy for CERT_REGISTRY_STORE_CLIENT_GPT_PARA {}
3077 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3078 impl ::core::clone::Clone for CERT_REGISTRY_STORE_CLIENT_GPT_PARA {
clone(&self) -> Self3079     fn clone(&self) -> Self {
3080         *self
3081     }
3082 }
3083 pub const CERT_REGISTRY_STORE_EXTERNAL_FLAG: u32 = 1048576u32;
3084 pub const CERT_REGISTRY_STORE_LM_GPT_FLAG: u32 = 16777216u32;
3085 pub const CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG: u32 = 524288u32;
3086 pub const CERT_REGISTRY_STORE_REMOTE_FLAG: u32 = 65536u32;
3087 pub const CERT_REGISTRY_STORE_ROAMING_FLAG: u32 = 262144u32;
3088 #[repr(C)]
3089 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3090 pub struct CERT_REGISTRY_STORE_ROAMING_PARA {
3091     pub hKey: super::super::System::Registry::HKEY,
3092     pub pwszStoreDirectory: super::super::Foundation::PWSTR,
3093 }
3094 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3095 impl ::core::marker::Copy for CERT_REGISTRY_STORE_ROAMING_PARA {}
3096 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3097 impl ::core::clone::Clone for CERT_REGISTRY_STORE_ROAMING_PARA {
clone(&self) -> Self3098     fn clone(&self) -> Self {
3099         *self
3100     }
3101 }
3102 pub const CERT_REGISTRY_STORE_SERIALIZED_FLAG: u32 = 131072u32;
3103 pub const CERT_RENEWAL_PROP_ID: u32 = 64u32;
3104 #[repr(C)]
3105 #[cfg(feature = "Win32_Foundation")]
3106 pub struct CERT_REQUEST_INFO {
3107     pub dwVersion: u32,
3108     pub Subject: CRYPTOAPI_BLOB,
3109     pub SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO,
3110     pub cAttribute: u32,
3111     pub rgAttribute: *mut CRYPT_ATTRIBUTE,
3112 }
3113 #[cfg(feature = "Win32_Foundation")]
3114 impl ::core::marker::Copy for CERT_REQUEST_INFO {}
3115 #[cfg(feature = "Win32_Foundation")]
3116 impl ::core::clone::Clone for CERT_REQUEST_INFO {
clone(&self) -> Self3117     fn clone(&self) -> Self {
3118         *self
3119     }
3120 }
3121 pub const CERT_REQUEST_ORIGINATOR_PROP_ID: u32 = 71u32;
3122 pub const CERT_REQUEST_V1: u32 = 0u32;
3123 #[repr(C)]
3124 #[cfg(feature = "Win32_Foundation")]
3125 pub struct CERT_REVOCATION_CHAIN_PARA {
3126     pub cbSize: u32,
3127     pub hChainEngine: HCERTCHAINENGINE,
3128     pub hAdditionalStore: *mut ::core::ffi::c_void,
3129     pub dwChainFlags: u32,
3130     pub dwUrlRetrievalTimeout: u32,
3131     pub pftCurrentTime: *mut super::super::Foundation::FILETIME,
3132     pub pftCacheResync: *mut super::super::Foundation::FILETIME,
3133     pub cbMaxUrlRetrievalByteCount: u32,
3134 }
3135 #[cfg(feature = "Win32_Foundation")]
3136 impl ::core::marker::Copy for CERT_REVOCATION_CHAIN_PARA {}
3137 #[cfg(feature = "Win32_Foundation")]
3138 impl ::core::clone::Clone for CERT_REVOCATION_CHAIN_PARA {
clone(&self) -> Self3139     fn clone(&self) -> Self {
3140         *self
3141     }
3142 }
3143 #[repr(C)]
3144 #[cfg(feature = "Win32_Foundation")]
3145 pub struct CERT_REVOCATION_CRL_INFO {
3146     pub cbSize: u32,
3147     pub pBaseCrlContext: *mut CRL_CONTEXT,
3148     pub pDeltaCrlContext: *mut CRL_CONTEXT,
3149     pub pCrlEntry: *mut CRL_ENTRY,
3150     pub fDeltaCrlEntry: super::super::Foundation::BOOL,
3151 }
3152 #[cfg(feature = "Win32_Foundation")]
3153 impl ::core::marker::Copy for CERT_REVOCATION_CRL_INFO {}
3154 #[cfg(feature = "Win32_Foundation")]
3155 impl ::core::clone::Clone for CERT_REVOCATION_CRL_INFO {
clone(&self) -> Self3156     fn clone(&self) -> Self {
3157         *self
3158     }
3159 }
3160 #[repr(C)]
3161 #[cfg(feature = "Win32_Foundation")]
3162 pub struct CERT_REVOCATION_INFO {
3163     pub cbSize: u32,
3164     pub dwRevocationResult: u32,
3165     pub pszRevocationOid: super::super::Foundation::PSTR,
3166     pub pvOidSpecificInfo: *mut ::core::ffi::c_void,
3167     pub fHasFreshnessTime: super::super::Foundation::BOOL,
3168     pub dwFreshnessTime: u32,
3169     pub pCrlInfo: *mut CERT_REVOCATION_CRL_INFO,
3170 }
3171 #[cfg(feature = "Win32_Foundation")]
3172 impl ::core::marker::Copy for CERT_REVOCATION_INFO {}
3173 #[cfg(feature = "Win32_Foundation")]
3174 impl ::core::clone::Clone for CERT_REVOCATION_INFO {
clone(&self) -> Self3175     fn clone(&self) -> Self {
3176         *self
3177     }
3178 }
3179 #[repr(C)]
3180 #[cfg(feature = "Win32_Foundation")]
3181 pub struct CERT_REVOCATION_PARA {
3182     pub cbSize: u32,
3183     pub pIssuerCert: *mut CERT_CONTEXT,
3184     pub cCertStore: u32,
3185     pub rgCertStore: *mut *mut ::core::ffi::c_void,
3186     pub hCrlStore: *mut ::core::ffi::c_void,
3187     pub pftTimeToUse: *mut super::super::Foundation::FILETIME,
3188 }
3189 #[cfg(feature = "Win32_Foundation")]
3190 impl ::core::marker::Copy for CERT_REVOCATION_PARA {}
3191 #[cfg(feature = "Win32_Foundation")]
3192 impl ::core::clone::Clone for CERT_REVOCATION_PARA {
clone(&self) -> Self3193     fn clone(&self) -> Self {
3194         *self
3195     }
3196 }
3197 #[repr(C)]
3198 #[cfg(feature = "Win32_Foundation")]
3199 pub struct CERT_REVOCATION_STATUS {
3200     pub cbSize: u32,
3201     pub dwIndex: u32,
3202     pub dwError: u32,
3203     pub dwReason: CERT_REVOCATION_STATUS_REASON,
3204     pub fHasFreshnessTime: super::super::Foundation::BOOL,
3205     pub dwFreshnessTime: u32,
3206 }
3207 #[cfg(feature = "Win32_Foundation")]
3208 impl ::core::marker::Copy for CERT_REVOCATION_STATUS {}
3209 #[cfg(feature = "Win32_Foundation")]
3210 impl ::core::clone::Clone for CERT_REVOCATION_STATUS {
clone(&self) -> Self3211     fn clone(&self) -> Self {
3212         *self
3213     }
3214 }
3215 pub type CERT_REVOCATION_STATUS_REASON = u32;
3216 pub const CRL_REASON_UNSPECIFIED: CERT_REVOCATION_STATUS_REASON = 0u32;
3217 pub const CRL_REASON_KEY_COMPROMISE: CERT_REVOCATION_STATUS_REASON = 1u32;
3218 pub const CRL_REASON_CA_COMPROMISE: CERT_REVOCATION_STATUS_REASON = 2u32;
3219 pub const CRL_REASON_AFFILIATION_CHANGED: CERT_REVOCATION_STATUS_REASON = 3u32;
3220 pub const CRL_REASON_SUPERSEDED: CERT_REVOCATION_STATUS_REASON = 4u32;
3221 pub const CRL_REASON_CESSATION_OF_OPERATION: CERT_REVOCATION_STATUS_REASON = 5u32;
3222 pub const CRL_REASON_CERTIFICATE_HOLD: CERT_REVOCATION_STATUS_REASON = 6u32;
3223 pub const CRL_REASON_REMOVE_FROM_CRL: CERT_REVOCATION_STATUS_REASON = 8u32;
3224 pub const CERT_ROOT_PROGRAM_CERT_POLICIES_PROP_ID: u32 = 83u32;
3225 pub const CERT_ROOT_PROGRAM_CHAIN_POLICIES_PROP_ID: u32 = 105u32;
3226 pub type CERT_ROOT_PROGRAM_FLAGS = u32;
3227 pub const CERT_ROOT_PROGRAM_FLAG_LSC: CERT_ROOT_PROGRAM_FLAGS = 64u32;
3228 pub const CERT_ROOT_PROGRAM_FLAG_ORG: CERT_ROOT_PROGRAM_FLAGS = 128u32;
3229 pub const CERT_ROOT_PROGRAM_FLAG_SUBJECT_LOGO: CERT_ROOT_PROGRAM_FLAGS = 32u32;
3230 pub const CERT_ROOT_PROGRAM_FLAG_ADDRESS: u32 = 8u32;
3231 pub const CERT_ROOT_PROGRAM_FLAG_OU: u32 = 16u32;
3232 pub const CERT_ROOT_PROGRAM_NAME_CONSTRAINTS_PROP_ID: u32 = 84u32;
3233 pub const CERT_SCARD_PIN_ID_PROP_ID: u32 = 90u32;
3234 pub const CERT_SCARD_PIN_INFO_PROP_ID: u32 = 91u32;
3235 pub const CERT_SCEP_CA_CERT_PROP_ID: u32 = 111u32;
3236 pub const CERT_SCEP_ENCRYPT_HASH_CNG_ALG_PROP_ID: u32 = 114u32;
3237 pub const CERT_SCEP_FLAGS_PROP_ID: u32 = 115u32;
3238 pub const CERT_SCEP_GUID_PROP_ID: u32 = 116u32;
3239 pub const CERT_SCEP_NONCE_PROP_ID: u32 = 113u32;
3240 pub const CERT_SCEP_RA_ENCRYPTION_CERT_PROP_ID: u32 = 110u32;
3241 pub const CERT_SCEP_RA_SIGNATURE_CERT_PROP_ID: u32 = 109u32;
3242 pub const CERT_SCEP_SERVER_CERTS_PROP_ID: u32 = 108u32;
3243 pub const CERT_SCEP_SIGNER_CERT_PROP_ID: u32 = 112u32;
3244 pub const CERT_SELECT_ALLOW_DUPLICATES: u32 = 128u32;
3245 pub const CERT_SELECT_ALLOW_EXPIRED: u32 = 1u32;
3246 pub const CERT_SELECT_BY_FRIENDLYNAME: u32 = 13u32;
3247 pub const CERT_SELECT_BY_ISSUER_DISPLAYNAME: u32 = 12u32;
3248 pub const CERT_SELECT_BY_THUMBPRINT: u32 = 14u32;
3249 #[repr(C)]
3250 #[cfg(feature = "Win32_Foundation")]
3251 pub struct CERT_SELECT_CHAIN_PARA {
3252     pub hChainEngine: HCERTCHAINENGINE,
3253     pub pTime: *mut super::super::Foundation::FILETIME,
3254     pub hAdditionalStore: *mut ::core::ffi::c_void,
3255     pub pChainPara: *mut CERT_CHAIN_PARA,
3256     pub dwFlags: u32,
3257 }
3258 #[cfg(feature = "Win32_Foundation")]
3259 impl ::core::marker::Copy for CERT_SELECT_CHAIN_PARA {}
3260 #[cfg(feature = "Win32_Foundation")]
3261 impl ::core::clone::Clone for CERT_SELECT_CHAIN_PARA {
clone(&self) -> Self3262     fn clone(&self) -> Self {
3263         *self
3264     }
3265 }
3266 #[repr(C)]
3267 pub struct CERT_SELECT_CRITERIA {
3268     pub dwType: CERT_SELECT_CRITERIA_TYPE,
3269     pub cPara: u32,
3270     pub ppPara: *mut *mut ::core::ffi::c_void,
3271 }
3272 impl ::core::marker::Copy for CERT_SELECT_CRITERIA {}
3273 impl ::core::clone::Clone for CERT_SELECT_CRITERIA {
clone(&self) -> Self3274     fn clone(&self) -> Self {
3275         *self
3276     }
3277 }
3278 pub type CERT_SELECT_CRITERIA_TYPE = u32;
3279 pub const CERT_SELECT_BY_ENHKEY_USAGE: CERT_SELECT_CRITERIA_TYPE = 1u32;
3280 pub const CERT_SELECT_BY_KEY_USAGE: CERT_SELECT_CRITERIA_TYPE = 2u32;
3281 pub const CERT_SELECT_BY_POLICY_OID: CERT_SELECT_CRITERIA_TYPE = 3u32;
3282 pub const CERT_SELECT_BY_PROV_NAME: CERT_SELECT_CRITERIA_TYPE = 4u32;
3283 pub const CERT_SELECT_BY_EXTENSION: CERT_SELECT_CRITERIA_TYPE = 5u32;
3284 pub const CERT_SELECT_BY_SUBJECT_HOST_NAME: CERT_SELECT_CRITERIA_TYPE = 6u32;
3285 pub const CERT_SELECT_BY_ISSUER_ATTR: CERT_SELECT_CRITERIA_TYPE = 7u32;
3286 pub const CERT_SELECT_BY_SUBJECT_ATTR: CERT_SELECT_CRITERIA_TYPE = 8u32;
3287 pub const CERT_SELECT_BY_ISSUER_NAME: CERT_SELECT_CRITERIA_TYPE = 9u32;
3288 pub const CERT_SELECT_BY_PUBLIC_KEY: CERT_SELECT_CRITERIA_TYPE = 10u32;
3289 pub const CERT_SELECT_BY_TLS_SIGNATURES: CERT_SELECT_CRITERIA_TYPE = 11u32;
3290 pub const CERT_SELECT_DISALLOW_SELFSIGNED: u32 = 4u32;
3291 pub const CERT_SELECT_HARDWARE_ONLY: u32 = 64u32;
3292 pub const CERT_SELECT_HAS_KEY_FOR_KEY_EXCHANGE: u32 = 32u32;
3293 pub const CERT_SELECT_HAS_KEY_FOR_SIGNATURE: u32 = 16u32;
3294 pub const CERT_SELECT_HAS_PRIVATE_KEY: u32 = 8u32;
3295 pub const CERT_SELECT_IGNORE_AUTOSELECT: u32 = 256u32;
3296 pub const CERT_SELECT_MAX_PARA: u32 = 500u32;
3297 pub const CERT_SELECT_TRUSTED_ROOT: u32 = 2u32;
3298 pub const CERT_SEND_AS_TRUSTED_ISSUER_PROP_ID: u32 = 102u32;
3299 pub const CERT_SERIALIZABLE_KEY_CONTEXT_PROP_ID: u32 = 117u32;
3300 pub const CERT_SERIAL_CHAIN_PROP_ID: u32 = 119u32;
3301 pub const CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG: u32 = 1u32;
3302 #[repr(C)]
3303 pub struct CERT_SERVER_OCSP_RESPONSE_CONTEXT {
3304     pub cbSize: u32,
3305     pub pbEncodedOcspResponse: *mut u8,
3306     pub cbEncodedOcspResponse: u32,
3307 }
3308 impl ::core::marker::Copy for CERT_SERVER_OCSP_RESPONSE_CONTEXT {}
3309 impl ::core::clone::Clone for CERT_SERVER_OCSP_RESPONSE_CONTEXT {
clone(&self) -> Self3310     fn clone(&self) -> Self {
3311         *self
3312     }
3313 }
3314 #[repr(C)]
3315 #[cfg(feature = "Win32_Foundation")]
3316 pub struct CERT_SERVER_OCSP_RESPONSE_OPEN_PARA {
3317     pub cbSize: u32,
3318     pub dwFlags: u32,
3319     pub pcbUsedSize: *mut u32,
3320     pub pwszOcspDirectory: super::super::Foundation::PWSTR,
3321     pub pfnUpdateCallback: PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK,
3322     pub pvUpdateCallbackArg: *mut ::core::ffi::c_void,
3323 }
3324 #[cfg(feature = "Win32_Foundation")]
3325 impl ::core::marker::Copy for CERT_SERVER_OCSP_RESPONSE_OPEN_PARA {}
3326 #[cfg(feature = "Win32_Foundation")]
3327 impl ::core::clone::Clone for CERT_SERVER_OCSP_RESPONSE_OPEN_PARA {
clone(&self) -> Self3328     fn clone(&self) -> Self {
3329         *self
3330     }
3331 }
3332 pub const CERT_SERVER_OCSP_RESPONSE_OPEN_PARA_READ_FLAG: u32 = 1u32;
3333 pub const CERT_SERVER_OCSP_RESPONSE_OPEN_PARA_WRITE_FLAG: u32 = 2u32;
3334 pub const CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG: u32 = 2147483648u32;
3335 pub const CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG: u32 = 1073741824u32;
3336 pub const CERT_SHA1_HASH_PROP_ID: u32 = 3u32;
3337 pub const CERT_SHA256_HASH_PROP_ID: u32 = 107u32;
3338 pub const CERT_SIGNATURE_HASH_PROP_ID: u32 = 15u32;
3339 #[repr(C)]
3340 #[cfg(feature = "Win32_Foundation")]
3341 pub struct CERT_SIGNED_CONTENT_INFO {
3342     pub ToBeSigned: CRYPTOAPI_BLOB,
3343     pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
3344     pub Signature: CRYPT_BIT_BLOB,
3345 }
3346 #[cfg(feature = "Win32_Foundation")]
3347 impl ::core::marker::Copy for CERT_SIGNED_CONTENT_INFO {}
3348 #[cfg(feature = "Win32_Foundation")]
3349 impl ::core::clone::Clone for CERT_SIGNED_CONTENT_INFO {
clone(&self) -> Self3350     fn clone(&self) -> Self {
3351         *self
3352     }
3353 }
3354 pub const CERT_SIGN_HASH_CNG_ALG_PROP_ID: u32 = 89u32;
3355 #[repr(C)]
3356 #[cfg(feature = "Win32_Foundation")]
3357 pub struct CERT_SIMPLE_CHAIN {
3358     pub cbSize: u32,
3359     pub TrustStatus: CERT_TRUST_STATUS,
3360     pub cElement: u32,
3361     pub rgpElement: *mut *mut CERT_CHAIN_ELEMENT,
3362     pub pTrustListInfo: *mut CERT_TRUST_LIST_INFO,
3363     pub fHasRevocationFreshnessTime: super::super::Foundation::BOOL,
3364     pub dwRevocationFreshnessTime: u32,
3365 }
3366 #[cfg(feature = "Win32_Foundation")]
3367 impl ::core::marker::Copy for CERT_SIMPLE_CHAIN {}
3368 #[cfg(feature = "Win32_Foundation")]
3369 impl ::core::clone::Clone for CERT_SIMPLE_CHAIN {
clone(&self) -> Self3370     fn clone(&self) -> Self {
3371         *self
3372     }
3373 }
3374 pub const CERT_SMART_CARD_DATA_PROP_ID: u32 = 16u32;
3375 pub const CERT_SMART_CARD_READER_NON_REMOVABLE_PROP_ID: u32 = 106u32;
3376 pub const CERT_SMART_CARD_READER_PROP_ID: u32 = 101u32;
3377 pub const CERT_SMART_CARD_ROOT_INFO_PROP_ID: u32 = 76u32;
3378 pub const CERT_SOURCE_LOCATION_PROP_ID: u32 = 72u32;
3379 pub const CERT_SOURCE_URL_PROP_ID: u32 = 73u32;
3380 pub const CERT_SRV_OCSP_RESP_MIN_SYNC_CERT_FILE_SECONDS_DEFAULT: u32 = 5u32;
3381 pub const CERT_STORE_ADD_ALWAYS: u32 = 4u32;
3382 pub const CERT_STORE_ADD_NEW: u32 = 1u32;
3383 pub const CERT_STORE_ADD_NEWER: u32 = 6u32;
3384 pub const CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES: u32 = 7u32;
3385 pub const CERT_STORE_ADD_REPLACE_EXISTING: u32 = 3u32;
3386 pub const CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES: u32 = 5u32;
3387 pub const CERT_STORE_ADD_USE_EXISTING: u32 = 2u32;
3388 pub const CERT_STORE_BASE_CRL_FLAG: u32 = 256u32;
3389 pub const CERT_STORE_CERTIFICATE_CONTEXT: u32 = 1u32;
3390 pub const CERT_STORE_CRL_CONTEXT: u32 = 2u32;
3391 pub const CERT_STORE_CTL_CONTEXT: u32 = 3u32;
3392 pub const CERT_STORE_CTRL_AUTO_RESYNC: u32 = 4u32;
3393 pub const CERT_STORE_CTRL_CANCEL_NOTIFY: u32 = 5u32;
3394 pub const CERT_STORE_CTRL_COMMIT: u32 = 3u32;
3395 pub const CERT_STORE_CTRL_NOTIFY_CHANGE: u32 = 2u32;
3396 pub const CERT_STORE_CTRL_RESYNC: u32 = 1u32;
3397 pub const CERT_STORE_DELTA_CRL_FLAG: u32 = 512u32;
3398 pub const CERT_STORE_LOCALIZED_NAME_PROP_ID: u32 = 4096u32;
3399 pub const CERT_STORE_MANIFOLD_FLAG: u32 = 256u32;
3400 pub const CERT_STORE_NO_CRL_FLAG: u32 = 65536u32;
3401 pub const CERT_STORE_NO_ISSUER_FLAG: u32 = 131072u32;
3402 pub const CERT_STORE_PROV_CLOSE_FUNC: u32 = 0u32;
3403 pub const CERT_STORE_PROV_CONTROL_FUNC: u32 = 13u32;
3404 pub const CERT_STORE_PROV_DELETE_CERT_FUNC: u32 = 3u32;
3405 pub const CERT_STORE_PROV_DELETE_CRL_FUNC: u32 = 7u32;
3406 pub const CERT_STORE_PROV_DELETE_CTL_FUNC: u32 = 11u32;
3407 pub const CERT_STORE_PROV_FIND_CERT_FUNC: u32 = 14u32;
3408 pub const CERT_STORE_PROV_FIND_CRL_FUNC: u32 = 17u32;
3409 pub const CERT_STORE_PROV_FIND_CTL_FUNC: u32 = 20u32;
3410 #[repr(C)]
3411 pub struct CERT_STORE_PROV_FIND_INFO {
3412     pub cbSize: u32,
3413     pub dwMsgAndCertEncodingType: u32,
3414     pub dwFindFlags: u32,
3415     pub dwFindType: u32,
3416     pub pvFindPara: *mut ::core::ffi::c_void,
3417 }
3418 impl ::core::marker::Copy for CERT_STORE_PROV_FIND_INFO {}
3419 impl ::core::clone::Clone for CERT_STORE_PROV_FIND_INFO {
clone(&self) -> Self3420     fn clone(&self) -> Self {
3421         *self
3422     }
3423 }
3424 pub type CERT_STORE_PROV_FLAGS = u32;
3425 pub const CERT_STORE_PROV_EXTERNAL_FLAG: CERT_STORE_PROV_FLAGS = 1u32;
3426 pub const CERT_STORE_PROV_DELETED_FLAG: CERT_STORE_PROV_FLAGS = 2u32;
3427 pub const CERT_STORE_PROV_NO_PERSIST_FLAG: CERT_STORE_PROV_FLAGS = 4u32;
3428 pub const CERT_STORE_PROV_SYSTEM_STORE_FLAG: CERT_STORE_PROV_FLAGS = 8u32;
3429 pub const CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG: CERT_STORE_PROV_FLAGS = 16u32;
3430 pub const CERT_STORE_PROV_FREE_FIND_CERT_FUNC: u32 = 15u32;
3431 pub const CERT_STORE_PROV_FREE_FIND_CRL_FUNC: u32 = 18u32;
3432 pub const CERT_STORE_PROV_FREE_FIND_CTL_FUNC: u32 = 21u32;
3433 pub const CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC: u32 = 16u32;
3434 pub const CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC: u32 = 19u32;
3435 pub const CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC: u32 = 22u32;
3436 pub const CERT_STORE_PROV_GP_SYSTEM_STORE_FLAG: u32 = 32u32;
3437 #[repr(C)]
3438 pub struct CERT_STORE_PROV_INFO {
3439     pub cbSize: u32,
3440     pub cStoreProvFunc: u32,
3441     pub rgpvStoreProvFunc: *mut *mut ::core::ffi::c_void,
3442     pub hStoreProv: *mut ::core::ffi::c_void,
3443     pub dwStoreProvFlags: CERT_STORE_PROV_FLAGS,
3444     pub hStoreProvFuncAddr2: *mut ::core::ffi::c_void,
3445 }
3446 impl ::core::marker::Copy for CERT_STORE_PROV_INFO {}
3447 impl ::core::clone::Clone for CERT_STORE_PROV_INFO {
clone(&self) -> Self3448     fn clone(&self) -> Self {
3449         *self
3450     }
3451 }
3452 pub const CERT_STORE_PROV_READ_CERT_FUNC: u32 = 1u32;
3453 pub const CERT_STORE_PROV_READ_CRL_FUNC: u32 = 5u32;
3454 pub const CERT_STORE_PROV_READ_CTL_FUNC: u32 = 9u32;
3455 pub const CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC: u32 = 4u32;
3456 pub const CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC: u32 = 8u32;
3457 pub const CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC: u32 = 12u32;
3458 pub const CERT_STORE_PROV_SHARED_USER_FLAG: u32 = 64u32;
3459 pub const CERT_STORE_PROV_WRITE_ADD_FLAG: u32 = 1u32;
3460 pub const CERT_STORE_PROV_WRITE_CERT_FUNC: u32 = 2u32;
3461 pub const CERT_STORE_PROV_WRITE_CRL_FUNC: u32 = 6u32;
3462 pub const CERT_STORE_PROV_WRITE_CTL_FUNC: u32 = 10u32;
3463 pub const CERT_STORE_REVOCATION_FLAG: u32 = 4u32;
3464 pub type CERT_STORE_SAVE_AS = u32;
3465 pub const CERT_STORE_SAVE_AS_PKCS7: CERT_STORE_SAVE_AS = 2u32;
3466 pub const CERT_STORE_SAVE_AS_STORE: CERT_STORE_SAVE_AS = 1u32;
3467 pub const CERT_STORE_SAVE_AS_PKCS12: u32 = 3u32;
3468 pub type CERT_STORE_SAVE_TO = u32;
3469 pub const CERT_STORE_SAVE_TO_FILE: CERT_STORE_SAVE_TO = 1u32;
3470 pub const CERT_STORE_SAVE_TO_FILENAME: CERT_STORE_SAVE_TO = 4u32;
3471 pub const CERT_STORE_SAVE_TO_FILENAME_A: CERT_STORE_SAVE_TO = 3u32;
3472 pub const CERT_STORE_SAVE_TO_FILENAME_W: CERT_STORE_SAVE_TO = 4u32;
3473 pub const CERT_STORE_SAVE_TO_MEMORY: CERT_STORE_SAVE_TO = 2u32;
3474 pub const CERT_STORE_SHARE_STORE_FLAG: u32 = 64u32;
3475 pub const CERT_STORE_SIGNATURE_FLAG: u32 = 1u32;
3476 pub const CERT_STORE_TIME_VALIDITY_FLAG: u32 = 2u32;
3477 pub const CERT_STORE_UNSAFE_PHYSICAL_FLAG: u32 = 32u32;
3478 pub type CERT_STRING_TYPE = u32;
3479 pub const CERT_SIMPLE_NAME_STR: CERT_STRING_TYPE = 1u32;
3480 pub const CERT_OID_NAME_STR: CERT_STRING_TYPE = 2u32;
3481 pub const CERT_X500_NAME_STR: CERT_STRING_TYPE = 3u32;
3482 pub type CERT_STRONG_SIGN_FLAGS = u32;
3483 pub const CERT_STRONG_SIGN_ENABLE_CRL_CHECK: CERT_STRONG_SIGN_FLAGS = 1u32;
3484 pub const CERT_STRONG_SIGN_ENABLE_OCSP_CHECK: CERT_STRONG_SIGN_FLAGS = 2u32;
3485 pub const CERT_STRONG_SIGN_OID_INFO_CHOICE: u32 = 2u32;
3486 #[repr(C)]
3487 #[cfg(feature = "Win32_Foundation")]
3488 pub struct CERT_STRONG_SIGN_PARA {
3489     pub cbSize: u32,
3490     pub dwInfoChoice: u32,
3491     pub Anonymous: CERT_STRONG_SIGN_PARA_0,
3492 }
3493 #[cfg(feature = "Win32_Foundation")]
3494 impl ::core::marker::Copy for CERT_STRONG_SIGN_PARA {}
3495 #[cfg(feature = "Win32_Foundation")]
3496 impl ::core::clone::Clone for CERT_STRONG_SIGN_PARA {
clone(&self) -> Self3497     fn clone(&self) -> Self {
3498         *self
3499     }
3500 }
3501 #[repr(C)]
3502 #[cfg(feature = "Win32_Foundation")]
3503 pub union CERT_STRONG_SIGN_PARA_0 {
3504     pub pvInfo: *mut ::core::ffi::c_void,
3505     pub pSerializedInfo: *mut CERT_STRONG_SIGN_SERIALIZED_INFO,
3506     pub pszOID: super::super::Foundation::PSTR,
3507 }
3508 #[cfg(feature = "Win32_Foundation")]
3509 impl ::core::marker::Copy for CERT_STRONG_SIGN_PARA_0 {}
3510 #[cfg(feature = "Win32_Foundation")]
3511 impl ::core::clone::Clone for CERT_STRONG_SIGN_PARA_0 {
clone(&self) -> Self3512     fn clone(&self) -> Self {
3513         *self
3514     }
3515 }
3516 #[repr(C)]
3517 #[cfg(feature = "Win32_Foundation")]
3518 pub struct CERT_STRONG_SIGN_SERIALIZED_INFO {
3519     pub dwFlags: CERT_STRONG_SIGN_FLAGS,
3520     pub pwszCNGSignHashAlgids: super::super::Foundation::PWSTR,
3521     pub pwszCNGPubKeyMinBitLengths: super::super::Foundation::PWSTR,
3522 }
3523 #[cfg(feature = "Win32_Foundation")]
3524 impl ::core::marker::Copy for CERT_STRONG_SIGN_SERIALIZED_INFO {}
3525 #[cfg(feature = "Win32_Foundation")]
3526 impl ::core::clone::Clone for CERT_STRONG_SIGN_SERIALIZED_INFO {
clone(&self) -> Self3527     fn clone(&self) -> Self {
3528         *self
3529     }
3530 }
3531 pub const CERT_STRONG_SIGN_SERIALIZED_INFO_CHOICE: u32 = 1u32;
3532 pub const CERT_SUBJECT_DISABLE_CRL_PROP_ID: u32 = 86u32;
3533 pub const CERT_SUBJECT_INFO_ACCESS_PROP_ID: u32 = 80u32;
3534 pub const CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: u32 = 29u32;
3535 pub const CERT_SUBJECT_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: u32 = 85u32;
3536 pub const CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID: u32 = 25u32;
3537 pub const CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID: u32 = 92u32;
3538 #[repr(C)]
3539 #[cfg(feature = "Win32_Foundation")]
3540 pub struct CERT_SUPPORTED_ALGORITHM_INFO {
3541     pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER,
3542     pub IntendedKeyUsage: CRYPT_BIT_BLOB,
3543     pub IntendedCertPolicies: CERT_POLICIES_INFO,
3544 }
3545 #[cfg(feature = "Win32_Foundation")]
3546 impl ::core::marker::Copy for CERT_SUPPORTED_ALGORITHM_INFO {}
3547 #[cfg(feature = "Win32_Foundation")]
3548 impl ::core::clone::Clone for CERT_SUPPORTED_ALGORITHM_INFO {
clone(&self) -> Self3549     fn clone(&self) -> Self {
3550         *self
3551     }
3552 }
3553 pub const CERT_SYSTEM_STORE_CURRENT_SERVICE_ID: u32 = 4u32;
3554 pub const CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID: u32 = 7u32;
3555 pub const CERT_SYSTEM_STORE_CURRENT_USER_ID: u32 = 1u32;
3556 pub const CERT_SYSTEM_STORE_DEFER_READ_FLAG: u32 = 536870912u32;
3557 pub type CERT_SYSTEM_STORE_FLAGS = u32;
3558 pub const CERT_SYSTEM_STORE_LOCATION_MASK: CERT_SYSTEM_STORE_FLAGS = 16711680u32;
3559 pub const CERT_SYSTEM_STORE_RELOCATE_FLAG: CERT_SYSTEM_STORE_FLAGS = 2147483648u32;
3560 #[repr(C)]
3561 pub struct CERT_SYSTEM_STORE_INFO {
3562     pub cbSize: u32,
3563 }
3564 impl ::core::marker::Copy for CERT_SYSTEM_STORE_INFO {}
3565 impl ::core::clone::Clone for CERT_SYSTEM_STORE_INFO {
clone(&self) -> Self3566     fn clone(&self) -> Self {
3567         *self
3568     }
3569 }
3570 pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID: u32 = 9u32;
3571 pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID: u32 = 8u32;
3572 pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ID: u32 = 2u32;
3573 pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_WCOS_ID: u32 = 10u32;
3574 pub const CERT_SYSTEM_STORE_LOCATION_SHIFT: u32 = 16u32;
3575 pub const CERT_SYSTEM_STORE_MASK: u32 = 4294901760u32;
3576 #[repr(C)]
3577 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3578 pub struct CERT_SYSTEM_STORE_RELOCATE_PARA {
3579     pub Anonymous1: CERT_SYSTEM_STORE_RELOCATE_PARA_0,
3580     pub Anonymous2: CERT_SYSTEM_STORE_RELOCATE_PARA_1,
3581 }
3582 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3583 impl ::core::marker::Copy for CERT_SYSTEM_STORE_RELOCATE_PARA {}
3584 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3585 impl ::core::clone::Clone for CERT_SYSTEM_STORE_RELOCATE_PARA {
clone(&self) -> Self3586     fn clone(&self) -> Self {
3587         *self
3588     }
3589 }
3590 #[repr(C)]
3591 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3592 pub union CERT_SYSTEM_STORE_RELOCATE_PARA_0 {
3593     pub hKeyBase: super::super::System::Registry::HKEY,
3594     pub pvBase: *mut ::core::ffi::c_void,
3595 }
3596 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3597 impl ::core::marker::Copy for CERT_SYSTEM_STORE_RELOCATE_PARA_0 {}
3598 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3599 impl ::core::clone::Clone for CERT_SYSTEM_STORE_RELOCATE_PARA_0 {
clone(&self) -> Self3600     fn clone(&self) -> Self {
3601         *self
3602     }
3603 }
3604 #[repr(C)]
3605 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3606 pub union CERT_SYSTEM_STORE_RELOCATE_PARA_1 {
3607     pub pvSystemStore: *mut ::core::ffi::c_void,
3608     pub pszSystemStore: super::super::Foundation::PSTR,
3609     pub pwszSystemStore: super::super::Foundation::PWSTR,
3610 }
3611 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3612 impl ::core::marker::Copy for CERT_SYSTEM_STORE_RELOCATE_PARA_1 {}
3613 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3614 impl ::core::clone::Clone for CERT_SYSTEM_STORE_RELOCATE_PARA_1 {
clone(&self) -> Self3615     fn clone(&self) -> Self {
3616         *self
3617     }
3618 }
3619 pub const CERT_SYSTEM_STORE_SERVICES_ID: u32 = 5u32;
3620 pub const CERT_SYSTEM_STORE_UNPROTECTED_FLAG: u32 = 1073741824u32;
3621 pub const CERT_SYSTEM_STORE_USERS_ID: u32 = 6u32;
3622 #[repr(C)]
3623 #[cfg(feature = "Win32_Foundation")]
3624 pub struct CERT_TEMPLATE_EXT {
3625     pub pszObjId: super::super::Foundation::PSTR,
3626     pub dwMajorVersion: u32,
3627     pub fMinorVersion: super::super::Foundation::BOOL,
3628     pub dwMinorVersion: u32,
3629 }
3630 #[cfg(feature = "Win32_Foundation")]
3631 impl ::core::marker::Copy for CERT_TEMPLATE_EXT {}
3632 #[cfg(feature = "Win32_Foundation")]
3633 impl ::core::clone::Clone for CERT_TEMPLATE_EXT {
clone(&self) -> Self3634     fn clone(&self) -> Self {
3635         *self
3636     }
3637 }
3638 pub const CERT_TIMESTAMP_HASH_USE_TYPE: u32 = 2u32;
3639 #[repr(C)]
3640 #[cfg(feature = "Win32_Foundation")]
3641 pub struct CERT_TPM_SPECIFICATION_INFO {
3642     pub pwszFamily: super::super::Foundation::PWSTR,
3643     pub dwLevel: u32,
3644     pub dwRevision: u32,
3645 }
3646 #[cfg(feature = "Win32_Foundation")]
3647 impl ::core::marker::Copy for CERT_TPM_SPECIFICATION_INFO {}
3648 #[cfg(feature = "Win32_Foundation")]
3649 impl ::core::clone::Clone for CERT_TPM_SPECIFICATION_INFO {
clone(&self) -> Self3650     fn clone(&self) -> Self {
3651         *self
3652     }
3653 }
3654 pub const CERT_TRUST_AUTO_UPDATE_CA_REVOCATION: u32 = 16u32;
3655 pub const CERT_TRUST_AUTO_UPDATE_END_REVOCATION: u32 = 32u32;
3656 pub const CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID: u32 = 262144u32;
3657 pub const CERT_TRUST_CTL_IS_NOT_TIME_VALID: u32 = 131072u32;
3658 pub const CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE: u32 = 524288u32;
3659 pub const CERT_TRUST_HAS_ALLOW_WEAK_SIGNATURE: u32 = 131072u32;
3660 pub const CERT_TRUST_HAS_AUTO_UPDATE_WEAK_SIGNATURE: u32 = 32768u32;
3661 pub const CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED: u32 = 4096u32;
3662 pub const CERT_TRUST_HAS_EXACT_MATCH_ISSUER: u32 = 1u32;
3663 pub const CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT: u32 = 32768u32;
3664 pub const CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY: u32 = 512u32;
3665 pub const CERT_TRUST_HAS_KEY_MATCH_ISSUER: u32 = 2u32;
3666 pub const CERT_TRUST_HAS_NAME_MATCH_ISSUER: u32 = 4u32;
3667 pub const CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT: u32 = 8192u32;
3668 pub const CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT: u32 = 16384u32;
3669 pub const CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT: u32 = 134217728u32;
3670 pub const CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT: u32 = 4096u32;
3671 pub const CERT_TRUST_HAS_PREFERRED_ISSUER: u32 = 256u32;
3672 pub const CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS: u32 = 1024u32;
3673 pub const CERT_TRUST_HAS_WEAK_HYGIENE: u32 = 2097152u32;
3674 pub const CERT_TRUST_HAS_WEAK_SIGNATURE: u32 = 1048576u32;
3675 pub const CERT_TRUST_INVALID_BASIC_CONSTRAINTS: u32 = 1024u32;
3676 pub const CERT_TRUST_INVALID_EXTENSION: u32 = 256u32;
3677 pub const CERT_TRUST_INVALID_NAME_CONSTRAINTS: u32 = 2048u32;
3678 pub const CERT_TRUST_INVALID_POLICY_CONSTRAINTS: u32 = 512u32;
3679 pub const CERT_TRUST_IS_CA_TRUSTED: u32 = 16384u32;
3680 pub const CERT_TRUST_IS_COMPLEX_CHAIN: u32 = 65536u32;
3681 pub const CERT_TRUST_IS_CYCLIC: u32 = 128u32;
3682 pub const CERT_TRUST_IS_EXPLICIT_DISTRUST: u32 = 67108864u32;
3683 pub const CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE: u32 = 8192u32;
3684 pub const CERT_TRUST_IS_KEY_ROLLOVER: u32 = 128u32;
3685 pub const CERT_TRUST_IS_NOT_SIGNATURE_VALID: u32 = 8u32;
3686 pub const CERT_TRUST_IS_NOT_TIME_NESTED: u32 = 2u32;
3687 pub const CERT_TRUST_IS_NOT_TIME_VALID: u32 = 1u32;
3688 pub const CERT_TRUST_IS_NOT_VALID_FOR_USAGE: u32 = 16u32;
3689 pub const CERT_TRUST_IS_OFFLINE_REVOCATION: u32 = 16777216u32;
3690 pub const CERT_TRUST_IS_PARTIAL_CHAIN: u32 = 65536u32;
3691 pub const CERT_TRUST_IS_PEER_TRUSTED: u32 = 2048u32;
3692 pub const CERT_TRUST_IS_REVOKED: u32 = 4u32;
3693 pub const CERT_TRUST_IS_SELF_SIGNED: u32 = 8u32;
3694 pub const CERT_TRUST_IS_UNTRUSTED_ROOT: u32 = 32u32;
3695 #[repr(C)]
3696 #[cfg(feature = "Win32_Foundation")]
3697 pub struct CERT_TRUST_LIST_INFO {
3698     pub cbSize: u32,
3699     pub pCtlEntry: *mut CTL_ENTRY,
3700     pub pCtlContext: *mut CTL_CONTEXT,
3701 }
3702 #[cfg(feature = "Win32_Foundation")]
3703 impl ::core::marker::Copy for CERT_TRUST_LIST_INFO {}
3704 #[cfg(feature = "Win32_Foundation")]
3705 impl ::core::clone::Clone for CERT_TRUST_LIST_INFO {
clone(&self) -> Self3706     fn clone(&self) -> Self {
3707         *self
3708     }
3709 }
3710 pub const CERT_TRUST_NO_ERROR: u32 = 0u32;
3711 pub const CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY: u32 = 33554432u32;
3712 pub const CERT_TRUST_NO_OCSP_FAILOVER_TO_CRL: u32 = 64u32;
3713 pub const CERT_TRUST_NO_TIME_CHECK: u32 = 33554432u32;
3714 pub const CERT_TRUST_PUB_ALLOW_END_USER_TRUST: u32 = 0u32;
3715 pub const CERT_TRUST_PUB_ALLOW_ENTERPRISE_ADMIN_TRUST: u32 = 2u32;
3716 pub const CERT_TRUST_PUB_ALLOW_MACHINE_ADMIN_TRUST: u32 = 1u32;
3717 pub const CERT_TRUST_PUB_ALLOW_TRUST_MASK: u32 = 3u32;
3718 pub const CERT_TRUST_PUB_CHECK_PUBLISHER_REV_FLAG: u32 = 256u32;
3719 pub const CERT_TRUST_PUB_CHECK_TIMESTAMP_REV_FLAG: u32 = 512u32;
3720 pub const CERT_TRUST_REVOCATION_STATUS_UNKNOWN: u32 = 64u32;
3721 pub const CERT_TRUST_SSL_HANDSHAKE_OCSP: u32 = 262144u32;
3722 pub const CERT_TRUST_SSL_RECONNECT_OCSP: u32 = 1048576u32;
3723 pub const CERT_TRUST_SSL_TIME_VALID: u32 = 16777216u32;
3724 pub const CERT_TRUST_SSL_TIME_VALID_OCSP: u32 = 524288u32;
3725 #[repr(C)]
3726 pub struct CERT_TRUST_STATUS {
3727     pub dwErrorStatus: u32,
3728     pub dwInfoStatus: u32,
3729 }
3730 impl ::core::marker::Copy for CERT_TRUST_STATUS {}
3731 impl ::core::clone::Clone for CERT_TRUST_STATUS {
clone(&self) -> Self3732     fn clone(&self) -> Self {
3733         *self
3734     }
3735 }
3736 pub const CERT_UNICODE_ATTR_ERR_INDEX_MASK: u32 = 63u32;
3737 pub const CERT_UNICODE_ATTR_ERR_INDEX_SHIFT: u32 = 16u32;
3738 pub const CERT_UNICODE_IS_RDN_ATTRS_FLAG: u32 = 1u32;
3739 pub const CERT_UNICODE_RDN_ERR_INDEX_MASK: u32 = 1023u32;
3740 pub const CERT_UNICODE_RDN_ERR_INDEX_SHIFT: u32 = 22u32;
3741 pub const CERT_UNICODE_VALUE_ERR_INDEX_MASK: u32 = 65535u32;
3742 pub const CERT_UNICODE_VALUE_ERR_INDEX_SHIFT: u32 = 0u32;
3743 #[repr(C)]
3744 #[cfg(feature = "Win32_Foundation")]
3745 pub struct CERT_USAGE_MATCH {
3746     pub dwType: u32,
3747     pub Usage: CTL_USAGE,
3748 }
3749 #[cfg(feature = "Win32_Foundation")]
3750 impl ::core::marker::Copy for CERT_USAGE_MATCH {}
3751 #[cfg(feature = "Win32_Foundation")]
3752 impl ::core::clone::Clone for CERT_USAGE_MATCH {
clone(&self) -> Self3753     fn clone(&self) -> Self {
3754         *self
3755     }
3756 }
3757 pub const CERT_V1: u32 = 0u32;
3758 pub const CERT_V2: u32 = 1u32;
3759 pub const CERT_V3: u32 = 2u32;
3760 pub const CERT_VERIFY_ALLOW_MORE_USAGE_FLAG: u32 = 8u32;
3761 pub const CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION: u32 = 2u32;
3762 pub const CERT_VERIFY_INHIBIT_CTL_UPDATE_FLAG: u32 = 1u32;
3763 pub const CERT_VERIFY_NO_TIME_CHECK_FLAG: u32 = 4u32;
3764 pub const CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG: u32 = 4u32;
3765 pub const CERT_VERIFY_REV_CHAIN_FLAG: u32 = 1u32;
3766 pub const CERT_VERIFY_REV_NO_OCSP_FAILOVER_TO_CRL_FLAG: u32 = 16u32;
3767 pub const CERT_VERIFY_REV_SERVER_OCSP_FLAG: u32 = 8u32;
3768 pub const CERT_VERIFY_REV_SERVER_OCSP_WIRE_ONLY_FLAG: u32 = 32u32;
3769 pub const CERT_VERIFY_TRUSTED_SIGNERS_FLAG: u32 = 2u32;
3770 pub const CERT_VERIFY_UPDATED_CTL_FLAG: u32 = 1u32;
3771 #[repr(C)]
3772 pub struct CERT_X942_DH_PARAMETERS {
3773     pub p: CRYPTOAPI_BLOB,
3774     pub g: CRYPTOAPI_BLOB,
3775     pub q: CRYPTOAPI_BLOB,
3776     pub j: CRYPTOAPI_BLOB,
3777     pub pValidationParams: *mut CERT_X942_DH_VALIDATION_PARAMS,
3778 }
3779 impl ::core::marker::Copy for CERT_X942_DH_PARAMETERS {}
3780 impl ::core::clone::Clone for CERT_X942_DH_PARAMETERS {
clone(&self) -> Self3781     fn clone(&self) -> Self {
3782         *self
3783     }
3784 }
3785 #[repr(C)]
3786 pub struct CERT_X942_DH_VALIDATION_PARAMS {
3787     pub seed: CRYPT_BIT_BLOB,
3788     pub pgenCounter: u32,
3789 }
3790 impl ::core::marker::Copy for CERT_X942_DH_VALIDATION_PARAMS {}
3791 impl ::core::clone::Clone for CERT_X942_DH_VALIDATION_PARAMS {
clone(&self) -> Self3792     fn clone(&self) -> Self {
3793         *self
3794     }
3795 }
3796 pub const CERT_XML_NAME_STR: u32 = 4u32;
3797 pub type CESSetupProperty = i32;
3798 pub const ENUM_CESSETUPPROP_USE_IISAPPPOOLIDENTITY: CESSetupProperty = 0i32;
3799 pub const ENUM_CESSETUPPROP_CACONFIG: CESSetupProperty = 1i32;
3800 pub const ENUM_CESSETUPPROP_AUTHENTICATION: CESSetupProperty = 2i32;
3801 pub const ENUM_CESSETUPPROP_SSLCERTHASH: CESSetupProperty = 3i32;
3802 pub const ENUM_CESSETUPPROP_URL: CESSetupProperty = 4i32;
3803 pub const ENUM_CESSETUPPROP_RENEWALONLY: CESSetupProperty = 5i32;
3804 pub const ENUM_CESSETUPPROP_ALLOW_KEYBASED_RENEWAL: CESSetupProperty = 6i32;
3805 #[repr(C)]
3806 #[cfg(feature = "Win32_Foundation")]
3807 pub struct CLAIMLIST {
3808     pub count: u32,
3809     pub claims: *mut super::super::Foundation::PWSTR,
3810 }
3811 #[cfg(feature = "Win32_Foundation")]
3812 impl ::core::marker::Copy for CLAIMLIST {}
3813 #[cfg(feature = "Win32_Foundation")]
3814 impl ::core::clone::Clone for CLAIMLIST {
clone(&self) -> Self3815     fn clone(&self) -> Self {
3816         *self
3817     }
3818 }
3819 #[repr(C)]
3820 #[cfg(feature = "Win32_Foundation")]
3821 pub struct CMC_ADD_ATTRIBUTES_INFO {
3822     pub dwCmcDataReference: u32,
3823     pub cCertReference: u32,
3824     pub rgdwCertReference: *mut u32,
3825     pub cAttribute: u32,
3826     pub rgAttribute: *mut CRYPT_ATTRIBUTE,
3827 }
3828 #[cfg(feature = "Win32_Foundation")]
3829 impl ::core::marker::Copy for CMC_ADD_ATTRIBUTES_INFO {}
3830 #[cfg(feature = "Win32_Foundation")]
3831 impl ::core::clone::Clone for CMC_ADD_ATTRIBUTES_INFO {
clone(&self) -> Self3832     fn clone(&self) -> Self {
3833         *self
3834     }
3835 }
3836 #[repr(C)]
3837 #[cfg(feature = "Win32_Foundation")]
3838 pub struct CMC_ADD_EXTENSIONS_INFO {
3839     pub dwCmcDataReference: u32,
3840     pub cCertReference: u32,
3841     pub rgdwCertReference: *mut u32,
3842     pub cExtension: u32,
3843     pub rgExtension: *mut CERT_EXTENSION,
3844 }
3845 #[cfg(feature = "Win32_Foundation")]
3846 impl ::core::marker::Copy for CMC_ADD_EXTENSIONS_INFO {}
3847 #[cfg(feature = "Win32_Foundation")]
3848 impl ::core::clone::Clone for CMC_ADD_EXTENSIONS_INFO {
clone(&self) -> Self3849     fn clone(&self) -> Self {
3850         *self
3851     }
3852 }
3853 #[repr(C)]
3854 #[cfg(feature = "Win32_Foundation")]
3855 pub struct CMC_DATA_INFO {
3856     pub cTaggedAttribute: u32,
3857     pub rgTaggedAttribute: *mut CMC_TAGGED_ATTRIBUTE,
3858     pub cTaggedRequest: u32,
3859     pub rgTaggedRequest: *mut CMC_TAGGED_REQUEST,
3860     pub cTaggedContentInfo: u32,
3861     pub rgTaggedContentInfo: *mut CMC_TAGGED_CONTENT_INFO,
3862     pub cTaggedOtherMsg: u32,
3863     pub rgTaggedOtherMsg: *mut CMC_TAGGED_OTHER_MSG,
3864 }
3865 #[cfg(feature = "Win32_Foundation")]
3866 impl ::core::marker::Copy for CMC_DATA_INFO {}
3867 #[cfg(feature = "Win32_Foundation")]
3868 impl ::core::clone::Clone for CMC_DATA_INFO {
clone(&self) -> Self3869     fn clone(&self) -> Self {
3870         *self
3871     }
3872 }
3873 pub const CMC_FAIL_BAD_ALG: u32 = 0u32;
3874 pub const CMC_FAIL_BAD_CERT_ID: u32 = 4u32;
3875 pub const CMC_FAIL_BAD_IDENTITY: u32 = 7u32;
3876 pub const CMC_FAIL_BAD_MESSAGE_CHECK: u32 = 1u32;
3877 pub const CMC_FAIL_BAD_REQUEST: u32 = 2u32;
3878 pub const CMC_FAIL_BAD_TIME: u32 = 3u32;
3879 pub const CMC_FAIL_INTERNAL_CA_ERROR: u32 = 11u32;
3880 pub const CMC_FAIL_MUST_ARCHIVE_KEYS: u32 = 6u32;
3881 pub const CMC_FAIL_NO_KEY_REUSE: u32 = 10u32;
3882 pub const CMC_FAIL_POP_FAILED: u32 = 9u32;
3883 pub const CMC_FAIL_POP_REQUIRED: u32 = 8u32;
3884 pub const CMC_FAIL_TRY_LATER: u32 = 12u32;
3885 pub const CMC_FAIL_UNSUPORTED_EXT: u32 = 5u32;
3886 pub const CMC_OTHER_INFO_FAIL_CHOICE: u32 = 1u32;
3887 pub const CMC_OTHER_INFO_NO_CHOICE: u32 = 0u32;
3888 pub const CMC_OTHER_INFO_PEND_CHOICE: u32 = 2u32;
3889 #[repr(C)]
3890 #[cfg(feature = "Win32_Foundation")]
3891 pub struct CMC_PEND_INFO {
3892     pub PendToken: CRYPTOAPI_BLOB,
3893     pub PendTime: super::super::Foundation::FILETIME,
3894 }
3895 #[cfg(feature = "Win32_Foundation")]
3896 impl ::core::marker::Copy for CMC_PEND_INFO {}
3897 #[cfg(feature = "Win32_Foundation")]
3898 impl ::core::clone::Clone for CMC_PEND_INFO {
clone(&self) -> Self3899     fn clone(&self) -> Self {
3900         *self
3901     }
3902 }
3903 #[repr(C)]
3904 #[cfg(feature = "Win32_Foundation")]
3905 pub struct CMC_RESPONSE_INFO {
3906     pub cTaggedAttribute: u32,
3907     pub rgTaggedAttribute: *mut CMC_TAGGED_ATTRIBUTE,
3908     pub cTaggedContentInfo: u32,
3909     pub rgTaggedContentInfo: *mut CMC_TAGGED_CONTENT_INFO,
3910     pub cTaggedOtherMsg: u32,
3911     pub rgTaggedOtherMsg: *mut CMC_TAGGED_OTHER_MSG,
3912 }
3913 #[cfg(feature = "Win32_Foundation")]
3914 impl ::core::marker::Copy for CMC_RESPONSE_INFO {}
3915 #[cfg(feature = "Win32_Foundation")]
3916 impl ::core::clone::Clone for CMC_RESPONSE_INFO {
clone(&self) -> Self3917     fn clone(&self) -> Self {
3918         *self
3919     }
3920 }
3921 pub const CMC_STATUS_CONFIRM_REQUIRED: u32 = 5u32;
3922 pub const CMC_STATUS_FAILED: u32 = 2u32;
3923 #[repr(C)]
3924 #[cfg(feature = "Win32_Foundation")]
3925 pub struct CMC_STATUS_INFO {
3926     pub dwStatus: u32,
3927     pub cBodyList: u32,
3928     pub rgdwBodyList: *mut u32,
3929     pub pwszStatusString: super::super::Foundation::PWSTR,
3930     pub dwOtherInfoChoice: u32,
3931     pub Anonymous: CMC_STATUS_INFO_0,
3932 }
3933 #[cfg(feature = "Win32_Foundation")]
3934 impl ::core::marker::Copy for CMC_STATUS_INFO {}
3935 #[cfg(feature = "Win32_Foundation")]
3936 impl ::core::clone::Clone for CMC_STATUS_INFO {
clone(&self) -> Self3937     fn clone(&self) -> Self {
3938         *self
3939     }
3940 }
3941 #[repr(C)]
3942 #[cfg(feature = "Win32_Foundation")]
3943 pub union CMC_STATUS_INFO_0 {
3944     pub dwFailInfo: u32,
3945     pub pPendInfo: *mut CMC_PEND_INFO,
3946 }
3947 #[cfg(feature = "Win32_Foundation")]
3948 impl ::core::marker::Copy for CMC_STATUS_INFO_0 {}
3949 #[cfg(feature = "Win32_Foundation")]
3950 impl ::core::clone::Clone for CMC_STATUS_INFO_0 {
clone(&self) -> Self3951     fn clone(&self) -> Self {
3952         *self
3953     }
3954 }
3955 pub const CMC_STATUS_NO_SUPPORT: u32 = 4u32;
3956 pub const CMC_STATUS_PENDING: u32 = 3u32;
3957 pub const CMC_STATUS_SUCCESS: u32 = 0u32;
3958 #[repr(C)]
3959 #[cfg(feature = "Win32_Foundation")]
3960 pub struct CMC_TAGGED_ATTRIBUTE {
3961     pub dwBodyPartID: u32,
3962     pub Attribute: CRYPT_ATTRIBUTE,
3963 }
3964 #[cfg(feature = "Win32_Foundation")]
3965 impl ::core::marker::Copy for CMC_TAGGED_ATTRIBUTE {}
3966 #[cfg(feature = "Win32_Foundation")]
3967 impl ::core::clone::Clone for CMC_TAGGED_ATTRIBUTE {
clone(&self) -> Self3968     fn clone(&self) -> Self {
3969         *self
3970     }
3971 }
3972 #[repr(C)]
3973 pub struct CMC_TAGGED_CERT_REQUEST {
3974     pub dwBodyPartID: u32,
3975     pub SignedCertRequest: CRYPTOAPI_BLOB,
3976 }
3977 impl ::core::marker::Copy for CMC_TAGGED_CERT_REQUEST {}
3978 impl ::core::clone::Clone for CMC_TAGGED_CERT_REQUEST {
clone(&self) -> Self3979     fn clone(&self) -> Self {
3980         *self
3981     }
3982 }
3983 pub const CMC_TAGGED_CERT_REQUEST_CHOICE: u32 = 1u32;
3984 #[repr(C)]
3985 pub struct CMC_TAGGED_CONTENT_INFO {
3986     pub dwBodyPartID: u32,
3987     pub EncodedContentInfo: CRYPTOAPI_BLOB,
3988 }
3989 impl ::core::marker::Copy for CMC_TAGGED_CONTENT_INFO {}
3990 impl ::core::clone::Clone for CMC_TAGGED_CONTENT_INFO {
clone(&self) -> Self3991     fn clone(&self) -> Self {
3992         *self
3993     }
3994 }
3995 #[repr(C)]
3996 #[cfg(feature = "Win32_Foundation")]
3997 pub struct CMC_TAGGED_OTHER_MSG {
3998     pub dwBodyPartID: u32,
3999     pub pszObjId: super::super::Foundation::PSTR,
4000     pub Value: CRYPTOAPI_BLOB,
4001 }
4002 #[cfg(feature = "Win32_Foundation")]
4003 impl ::core::marker::Copy for CMC_TAGGED_OTHER_MSG {}
4004 #[cfg(feature = "Win32_Foundation")]
4005 impl ::core::clone::Clone for CMC_TAGGED_OTHER_MSG {
clone(&self) -> Self4006     fn clone(&self) -> Self {
4007         *self
4008     }
4009 }
4010 #[repr(C)]
4011 pub struct CMC_TAGGED_REQUEST {
4012     pub dwTaggedRequestChoice: u32,
4013     pub Anonymous: CMC_TAGGED_REQUEST_0,
4014 }
4015 impl ::core::marker::Copy for CMC_TAGGED_REQUEST {}
4016 impl ::core::clone::Clone for CMC_TAGGED_REQUEST {
clone(&self) -> Self4017     fn clone(&self) -> Self {
4018         *self
4019     }
4020 }
4021 #[repr(C)]
4022 pub union CMC_TAGGED_REQUEST_0 {
4023     pub pTaggedCertRequest: *mut CMC_TAGGED_CERT_REQUEST,
4024 }
4025 impl ::core::marker::Copy for CMC_TAGGED_REQUEST_0 {}
4026 impl ::core::clone::Clone for CMC_TAGGED_REQUEST_0 {
clone(&self) -> Self4027     fn clone(&self) -> Self {
4028         *self
4029     }
4030 }
4031 pub const CMSCEPSetup: ::windows_sys::core::GUID = ::windows_sys::core::GUID {
4032     data1: 2857327618,
4033     data2: 36476,
4034     data3: 18884,
4035     data4: [148, 250, 103, 165, 204, 94, 173, 180],
4036 };
4037 pub const CMSG_ATTR_CERT_COUNT_PARAM: u32 = 31u32;
4038 pub const CMSG_ATTR_CERT_PARAM: u32 = 32u32;
4039 pub const CMSG_AUTHENTICATED_ATTRIBUTES_FLAG: u32 = 8u32;
4040 pub const CMSG_BARE_CONTENT_FLAG: u32 = 1u32;
4041 pub const CMSG_BARE_CONTENT_PARAM: u32 = 3u32;
4042 pub const CMSG_CERT_COUNT_PARAM: u32 = 11u32;
4043 pub const CMSG_CERT_PARAM: u32 = 12u32;
4044 pub const CMSG_CMS_ENCAPSULATED_CONTENT_FLAG: u32 = 64u32;
4045 pub const CMSG_CMS_ENCAPSULATED_CTL_FLAG: u32 = 32768u32;
4046 pub const CMSG_CMS_RECIPIENT_COUNT_PARAM: u32 = 33u32;
4047 pub const CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM: u32 = 35u32;
4048 pub const CMSG_CMS_RECIPIENT_INDEX_PARAM: u32 = 34u32;
4049 #[repr(C)]
4050 #[cfg(feature = "Win32_Foundation")]
4051 pub struct CMSG_CMS_RECIPIENT_INFO {
4052     pub dwRecipientChoice: u32,
4053     pub Anonymous: CMSG_CMS_RECIPIENT_INFO_0,
4054 }
4055 #[cfg(feature = "Win32_Foundation")]
4056 impl ::core::marker::Copy for CMSG_CMS_RECIPIENT_INFO {}
4057 #[cfg(feature = "Win32_Foundation")]
4058 impl ::core::clone::Clone for CMSG_CMS_RECIPIENT_INFO {
clone(&self) -> Self4059     fn clone(&self) -> Self {
4060         *self
4061     }
4062 }
4063 #[repr(C)]
4064 #[cfg(feature = "Win32_Foundation")]
4065 pub union CMSG_CMS_RECIPIENT_INFO_0 {
4066     pub pKeyTrans: *mut CMSG_KEY_TRANS_RECIPIENT_INFO,
4067     pub pKeyAgree: *mut CMSG_KEY_AGREE_RECIPIENT_INFO,
4068     pub pMailList: *mut CMSG_MAIL_LIST_RECIPIENT_INFO,
4069 }
4070 #[cfg(feature = "Win32_Foundation")]
4071 impl ::core::marker::Copy for CMSG_CMS_RECIPIENT_INFO_0 {}
4072 #[cfg(feature = "Win32_Foundation")]
4073 impl ::core::clone::Clone for CMSG_CMS_RECIPIENT_INFO_0 {
clone(&self) -> Self4074     fn clone(&self) -> Self {
4075         *self
4076     }
4077 }
4078 pub const CMSG_CMS_RECIPIENT_INFO_PARAM: u32 = 36u32;
4079 #[repr(C)]
4080 #[cfg(feature = "Win32_Foundation")]
4081 pub struct CMSG_CMS_SIGNER_INFO {
4082     pub dwVersion: u32,
4083     pub SignerId: CERT_ID,
4084     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4085     pub HashEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4086     pub EncryptedHash: CRYPTOAPI_BLOB,
4087     pub AuthAttrs: CRYPT_ATTRIBUTES,
4088     pub UnauthAttrs: CRYPT_ATTRIBUTES,
4089 }
4090 #[cfg(feature = "Win32_Foundation")]
4091 impl ::core::marker::Copy for CMSG_CMS_SIGNER_INFO {}
4092 #[cfg(feature = "Win32_Foundation")]
4093 impl ::core::clone::Clone for CMSG_CMS_SIGNER_INFO {
clone(&self) -> Self4094     fn clone(&self) -> Self {
4095         *self
4096     }
4097 }
4098 pub const CMSG_CMS_SIGNER_INFO_PARAM: u32 = 39u32;
4099 #[repr(C)]
4100 #[cfg(feature = "Win32_Foundation")]
4101 pub struct CMSG_CNG_CONTENT_DECRYPT_INFO {
4102     pub cbSize: u32,
4103     pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4104     pub pfnAlloc: PFN_CMSG_ALLOC,
4105     pub pfnFree: PFN_CMSG_FREE,
4106     pub hNCryptKey: usize,
4107     pub pbContentEncryptKey: *mut u8,
4108     pub cbContentEncryptKey: u32,
4109     pub hCNGContentEncryptKey: BCRYPT_KEY_HANDLE,
4110     pub pbCNGContentEncryptKeyObject: *mut u8,
4111 }
4112 #[cfg(feature = "Win32_Foundation")]
4113 impl ::core::marker::Copy for CMSG_CNG_CONTENT_DECRYPT_INFO {}
4114 #[cfg(feature = "Win32_Foundation")]
4115 impl ::core::clone::Clone for CMSG_CNG_CONTENT_DECRYPT_INFO {
clone(&self) -> Self4116     fn clone(&self) -> Self {
4117         *self
4118     }
4119 }
4120 pub const CMSG_COMPUTED_HASH_PARAM: u32 = 22u32;
4121 pub const CMSG_CONTENTS_OCTETS_FLAG: u32 = 16u32;
4122 pub const CMSG_CONTENT_ENCRYPT_FREE_OBJID_FLAG: u32 = 2u32;
4123 pub const CMSG_CONTENT_ENCRYPT_FREE_PARA_FLAG: u32 = 1u32;
4124 #[repr(C)]
4125 #[cfg(feature = "Win32_Foundation")]
4126 pub struct CMSG_CONTENT_ENCRYPT_INFO {
4127     pub cbSize: u32,
4128     pub hCryptProv: usize,
4129     pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4130     pub pvEncryptionAuxInfo: *mut ::core::ffi::c_void,
4131     pub cRecipients: u32,
4132     pub rgCmsRecipients: *mut CMSG_RECIPIENT_ENCODE_INFO,
4133     pub pfnAlloc: PFN_CMSG_ALLOC,
4134     pub pfnFree: PFN_CMSG_FREE,
4135     pub dwEncryptFlags: u32,
4136     pub Anonymous: CMSG_CONTENT_ENCRYPT_INFO_0,
4137     pub dwFlags: u32,
4138     pub fCNG: super::super::Foundation::BOOL,
4139     pub pbCNGContentEncryptKeyObject: *mut u8,
4140     pub pbContentEncryptKey: *mut u8,
4141     pub cbContentEncryptKey: u32,
4142 }
4143 #[cfg(feature = "Win32_Foundation")]
4144 impl ::core::marker::Copy for CMSG_CONTENT_ENCRYPT_INFO {}
4145 #[cfg(feature = "Win32_Foundation")]
4146 impl ::core::clone::Clone for CMSG_CONTENT_ENCRYPT_INFO {
clone(&self) -> Self4147     fn clone(&self) -> Self {
4148         *self
4149     }
4150 }
4151 #[repr(C)]
4152 #[cfg(feature = "Win32_Foundation")]
4153 pub union CMSG_CONTENT_ENCRYPT_INFO_0 {
4154     pub hContentEncryptKey: usize,
4155     pub hCNGContentEncryptKey: BCRYPT_KEY_HANDLE,
4156 }
4157 #[cfg(feature = "Win32_Foundation")]
4158 impl ::core::marker::Copy for CMSG_CONTENT_ENCRYPT_INFO_0 {}
4159 #[cfg(feature = "Win32_Foundation")]
4160 impl ::core::clone::Clone for CMSG_CONTENT_ENCRYPT_INFO_0 {
clone(&self) -> Self4161     fn clone(&self) -> Self {
4162         *self
4163     }
4164 }
4165 pub const CMSG_CONTENT_ENCRYPT_PAD_ENCODED_LEN_FLAG: u32 = 1u32;
4166 pub const CMSG_CONTENT_ENCRYPT_RELEASE_CONTEXT_FLAG: u32 = 32768u32;
4167 pub const CMSG_CONTENT_PARAM: u32 = 2u32;
4168 pub const CMSG_CRL_COUNT_PARAM: u32 = 13u32;
4169 pub const CMSG_CRL_PARAM: u32 = 14u32;
4170 pub const CMSG_CRYPT_RELEASE_CONTEXT_FLAG: u32 = 32768u32;
4171 pub const CMSG_CTRL_ADD_ATTR_CERT: u32 = 14u32;
4172 pub const CMSG_CTRL_ADD_CERT: u32 = 10u32;
4173 pub const CMSG_CTRL_ADD_CMS_SIGNER_INFO: u32 = 20u32;
4174 pub const CMSG_CTRL_ADD_CRL: u32 = 12u32;
4175 pub const CMSG_CTRL_ADD_SIGNER: u32 = 6u32;
4176 pub const CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR: u32 = 8u32;
4177 #[repr(C)]
4178 pub struct CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA {
4179     pub cbSize: u32,
4180     pub dwSignerIndex: u32,
4181     pub blob: CRYPTOAPI_BLOB,
4182 }
4183 impl ::core::marker::Copy for CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA {}
4184 impl ::core::clone::Clone for CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA {
clone(&self) -> Self4185     fn clone(&self) -> Self {
4186         *self
4187     }
4188 }
4189 pub const CMSG_CTRL_DECRYPT: u32 = 2u32;
4190 #[repr(C)]
4191 pub struct CMSG_CTRL_DECRYPT_PARA {
4192     pub cbSize: u32,
4193     pub Anonymous: CMSG_CTRL_DECRYPT_PARA_0,
4194     pub dwKeySpec: u32,
4195     pub dwRecipientIndex: u32,
4196 }
4197 impl ::core::marker::Copy for CMSG_CTRL_DECRYPT_PARA {}
4198 impl ::core::clone::Clone for CMSG_CTRL_DECRYPT_PARA {
clone(&self) -> Self4199     fn clone(&self) -> Self {
4200         *self
4201     }
4202 }
4203 #[repr(C)]
4204 pub union CMSG_CTRL_DECRYPT_PARA_0 {
4205     pub hCryptProv: usize,
4206     pub hNCryptKey: usize,
4207 }
4208 impl ::core::marker::Copy for CMSG_CTRL_DECRYPT_PARA_0 {}
4209 impl ::core::clone::Clone for CMSG_CTRL_DECRYPT_PARA_0 {
clone(&self) -> Self4210     fn clone(&self) -> Self {
4211         *self
4212     }
4213 }
4214 pub const CMSG_CTRL_DEL_ATTR_CERT: u32 = 15u32;
4215 pub const CMSG_CTRL_DEL_CERT: u32 = 11u32;
4216 pub const CMSG_CTRL_DEL_CRL: u32 = 13u32;
4217 pub const CMSG_CTRL_DEL_SIGNER: u32 = 7u32;
4218 pub const CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR: u32 = 9u32;
4219 #[repr(C)]
4220 pub struct CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA {
4221     pub cbSize: u32,
4222     pub dwSignerIndex: u32,
4223     pub dwUnauthAttrIndex: u32,
4224 }
4225 impl ::core::marker::Copy for CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA {}
4226 impl ::core::clone::Clone for CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA {
clone(&self) -> Self4227     fn clone(&self) -> Self {
4228         *self
4229     }
4230 }
4231 pub const CMSG_CTRL_ENABLE_STRONG_SIGNATURE: u32 = 21u32;
4232 pub const CMSG_CTRL_KEY_AGREE_DECRYPT: u32 = 17u32;
4233 #[repr(C)]
4234 #[cfg(feature = "Win32_Foundation")]
4235 pub struct CMSG_CTRL_KEY_AGREE_DECRYPT_PARA {
4236     pub cbSize: u32,
4237     pub Anonymous: CMSG_CTRL_KEY_AGREE_DECRYPT_PARA_0,
4238     pub dwKeySpec: u32,
4239     pub pKeyAgree: *mut CMSG_KEY_AGREE_RECIPIENT_INFO,
4240     pub dwRecipientIndex: u32,
4241     pub dwRecipientEncryptedKeyIndex: u32,
4242     pub OriginatorPublicKey: CRYPT_BIT_BLOB,
4243 }
4244 #[cfg(feature = "Win32_Foundation")]
4245 impl ::core::marker::Copy for CMSG_CTRL_KEY_AGREE_DECRYPT_PARA {}
4246 #[cfg(feature = "Win32_Foundation")]
4247 impl ::core::clone::Clone for CMSG_CTRL_KEY_AGREE_DECRYPT_PARA {
clone(&self) -> Self4248     fn clone(&self) -> Self {
4249         *self
4250     }
4251 }
4252 #[repr(C)]
4253 #[cfg(feature = "Win32_Foundation")]
4254 pub union CMSG_CTRL_KEY_AGREE_DECRYPT_PARA_0 {
4255     pub hCryptProv: usize,
4256     pub hNCryptKey: usize,
4257 }
4258 #[cfg(feature = "Win32_Foundation")]
4259 impl ::core::marker::Copy for CMSG_CTRL_KEY_AGREE_DECRYPT_PARA_0 {}
4260 #[cfg(feature = "Win32_Foundation")]
4261 impl ::core::clone::Clone for CMSG_CTRL_KEY_AGREE_DECRYPT_PARA_0 {
clone(&self) -> Self4262     fn clone(&self) -> Self {
4263         *self
4264     }
4265 }
4266 pub const CMSG_CTRL_KEY_TRANS_DECRYPT: u32 = 16u32;
4267 #[repr(C)]
4268 #[cfg(feature = "Win32_Foundation")]
4269 pub struct CMSG_CTRL_KEY_TRANS_DECRYPT_PARA {
4270     pub cbSize: u32,
4271     pub Anonymous: CMSG_CTRL_KEY_TRANS_DECRYPT_PARA_0,
4272     pub dwKeySpec: u32,
4273     pub pKeyTrans: *mut CMSG_KEY_TRANS_RECIPIENT_INFO,
4274     pub dwRecipientIndex: u32,
4275 }
4276 #[cfg(feature = "Win32_Foundation")]
4277 impl ::core::marker::Copy for CMSG_CTRL_KEY_TRANS_DECRYPT_PARA {}
4278 #[cfg(feature = "Win32_Foundation")]
4279 impl ::core::clone::Clone for CMSG_CTRL_KEY_TRANS_DECRYPT_PARA {
clone(&self) -> Self4280     fn clone(&self) -> Self {
4281         *self
4282     }
4283 }
4284 #[repr(C)]
4285 #[cfg(feature = "Win32_Foundation")]
4286 pub union CMSG_CTRL_KEY_TRANS_DECRYPT_PARA_0 {
4287     pub hCryptProv: usize,
4288     pub hNCryptKey: usize,
4289 }
4290 #[cfg(feature = "Win32_Foundation")]
4291 impl ::core::marker::Copy for CMSG_CTRL_KEY_TRANS_DECRYPT_PARA_0 {}
4292 #[cfg(feature = "Win32_Foundation")]
4293 impl ::core::clone::Clone for CMSG_CTRL_KEY_TRANS_DECRYPT_PARA_0 {
clone(&self) -> Self4294     fn clone(&self) -> Self {
4295         *self
4296     }
4297 }
4298 pub const CMSG_CTRL_MAIL_LIST_DECRYPT: u32 = 18u32;
4299 #[repr(C)]
4300 #[cfg(feature = "Win32_Foundation")]
4301 pub struct CMSG_CTRL_MAIL_LIST_DECRYPT_PARA {
4302     pub cbSize: u32,
4303     pub hCryptProv: usize,
4304     pub pMailList: *mut CMSG_MAIL_LIST_RECIPIENT_INFO,
4305     pub dwRecipientIndex: u32,
4306     pub dwKeyChoice: u32,
4307     pub Anonymous: CMSG_CTRL_MAIL_LIST_DECRYPT_PARA_0,
4308 }
4309 #[cfg(feature = "Win32_Foundation")]
4310 impl ::core::marker::Copy for CMSG_CTRL_MAIL_LIST_DECRYPT_PARA {}
4311 #[cfg(feature = "Win32_Foundation")]
4312 impl ::core::clone::Clone for CMSG_CTRL_MAIL_LIST_DECRYPT_PARA {
clone(&self) -> Self4313     fn clone(&self) -> Self {
4314         *self
4315     }
4316 }
4317 #[repr(C)]
4318 #[cfg(feature = "Win32_Foundation")]
4319 pub union CMSG_CTRL_MAIL_LIST_DECRYPT_PARA_0 {
4320     pub hKeyEncryptionKey: usize,
4321     pub pvKeyEncryptionKey: *mut ::core::ffi::c_void,
4322 }
4323 #[cfg(feature = "Win32_Foundation")]
4324 impl ::core::marker::Copy for CMSG_CTRL_MAIL_LIST_DECRYPT_PARA_0 {}
4325 #[cfg(feature = "Win32_Foundation")]
4326 impl ::core::clone::Clone for CMSG_CTRL_MAIL_LIST_DECRYPT_PARA_0 {
clone(&self) -> Self4327     fn clone(&self) -> Self {
4328         *self
4329     }
4330 }
4331 pub const CMSG_CTRL_VERIFY_HASH: u32 = 5u32;
4332 pub const CMSG_CTRL_VERIFY_SIGNATURE: u32 = 1u32;
4333 pub const CMSG_CTRL_VERIFY_SIGNATURE_EX: u32 = 19u32;
4334 #[repr(C)]
4335 pub struct CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA {
4336     pub cbSize: u32,
4337     pub hCryptProv: usize,
4338     pub dwSignerIndex: u32,
4339     pub dwSignerType: u32,
4340     pub pvSigner: *mut ::core::ffi::c_void,
4341 }
4342 impl ::core::marker::Copy for CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA {}
4343 impl ::core::clone::Clone for CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA {
clone(&self) -> Self4344     fn clone(&self) -> Self {
4345         *self
4346     }
4347 }
4348 pub const CMSG_DETACHED_FLAG: u32 = 4u32;
4349 pub const CMSG_ENCODED_MESSAGE: u32 = 29u32;
4350 pub const CMSG_ENCODED_SIGNER: u32 = 28u32;
4351 pub const CMSG_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: u32 = 2u32;
4352 pub const CMSG_ENCODE_SORTED_CTL_FLAG: u32 = 1u32;
4353 pub const CMSG_ENCODING_TYPE_MASK: u32 = 4294901760u32;
4354 pub const CMSG_ENCRYPTED: u32 = 6u32;
4355 pub const CMSG_ENCRYPTED_DIGEST: u32 = 27u32;
4356 #[repr(C)]
4357 #[cfg(feature = "Win32_Foundation")]
4358 pub struct CMSG_ENCRYPTED_ENCODE_INFO {
4359     pub cbSize: u32,
4360     pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4361     pub pvEncryptionAuxInfo: *mut ::core::ffi::c_void,
4362 }
4363 #[cfg(feature = "Win32_Foundation")]
4364 impl ::core::marker::Copy for CMSG_ENCRYPTED_ENCODE_INFO {}
4365 #[cfg(feature = "Win32_Foundation")]
4366 impl ::core::clone::Clone for CMSG_ENCRYPTED_ENCODE_INFO {
clone(&self) -> Self4367     fn clone(&self) -> Self {
4368         *self
4369     }
4370 }
4371 pub const CMSG_ENCRYPT_PARAM: u32 = 26u32;
4372 pub const CMSG_ENVELOPED_DATA_CMS_VERSION: u32 = 2u32;
4373 pub const CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION: u32 = 0u32;
4374 pub const CMSG_ENVELOPED_DATA_V0: u32 = 0u32;
4375 pub const CMSG_ENVELOPED_DATA_V2: u32 = 2u32;
4376 #[repr(C)]
4377 #[cfg(feature = "Win32_Foundation")]
4378 pub struct CMSG_ENVELOPED_ENCODE_INFO {
4379     pub cbSize: u32,
4380     pub hCryptProv: usize,
4381     pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4382     pub pvEncryptionAuxInfo: *mut ::core::ffi::c_void,
4383     pub cRecipients: u32,
4384     pub rgpRecipients: *mut *mut CERT_INFO,
4385 }
4386 #[cfg(feature = "Win32_Foundation")]
4387 impl ::core::marker::Copy for CMSG_ENVELOPED_ENCODE_INFO {}
4388 #[cfg(feature = "Win32_Foundation")]
4389 impl ::core::clone::Clone for CMSG_ENVELOPED_ENCODE_INFO {
clone(&self) -> Self4390     fn clone(&self) -> Self {
4391         *self
4392     }
4393 }
4394 pub const CMSG_ENVELOPED_RECIPIENT_V0: u32 = 0u32;
4395 pub const CMSG_ENVELOPED_RECIPIENT_V2: u32 = 2u32;
4396 pub const CMSG_ENVELOPED_RECIPIENT_V3: u32 = 3u32;
4397 pub const CMSG_ENVELOPED_RECIPIENT_V4: u32 = 4u32;
4398 pub const CMSG_ENVELOPE_ALGORITHM_PARAM: u32 = 15u32;
4399 pub const CMSG_HASHED_DATA_CMS_VERSION: u32 = 2u32;
4400 pub const CMSG_HASHED_DATA_PKCS_1_5_VERSION: u32 = 0u32;
4401 pub const CMSG_HASHED_DATA_V0: u32 = 0u32;
4402 pub const CMSG_HASHED_DATA_V2: u32 = 2u32;
4403 #[repr(C)]
4404 #[cfg(feature = "Win32_Foundation")]
4405 pub struct CMSG_HASHED_ENCODE_INFO {
4406     pub cbSize: u32,
4407     pub hCryptProv: usize,
4408     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4409     pub pvHashAuxInfo: *mut ::core::ffi::c_void,
4410 }
4411 #[cfg(feature = "Win32_Foundation")]
4412 impl ::core::marker::Copy for CMSG_HASHED_ENCODE_INFO {}
4413 #[cfg(feature = "Win32_Foundation")]
4414 impl ::core::clone::Clone for CMSG_HASHED_ENCODE_INFO {
clone(&self) -> Self4415     fn clone(&self) -> Self {
4416         *self
4417     }
4418 }
4419 pub const CMSG_HASH_ALGORITHM_PARAM: u32 = 20u32;
4420 pub const CMSG_HASH_DATA_PARAM: u32 = 21u32;
4421 pub const CMSG_INDEFINITE_LENGTH: u32 = 4294967295u32;
4422 pub const CMSG_INNER_CONTENT_TYPE_PARAM: u32 = 4u32;
4423 pub const CMSG_KEY_AGREE_ENCRYPT_FREE_MATERIAL_FLAG: u32 = 2u32;
4424 pub const CMSG_KEY_AGREE_ENCRYPT_FREE_OBJID_FLAG: u32 = 32u32;
4425 pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PARA_FLAG: u32 = 1u32;
4426 pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_ALG_FLAG: u32 = 4u32;
4427 pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_BITS_FLAG: u32 = 16u32;
4428 pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_PARA_FLAG: u32 = 8u32;
4429 #[repr(C)]
4430 #[cfg(feature = "Win32_Foundation")]
4431 pub struct CMSG_KEY_AGREE_ENCRYPT_INFO {
4432     pub cbSize: u32,
4433     pub dwRecipientIndex: u32,
4434     pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4435     pub UserKeyingMaterial: CRYPTOAPI_BLOB,
4436     pub dwOriginatorChoice: CMSG_KEY_AGREE_ORIGINATOR,
4437     pub Anonymous: CMSG_KEY_AGREE_ENCRYPT_INFO_0,
4438     pub cKeyAgreeKeyEncryptInfo: u32,
4439     pub rgpKeyAgreeKeyEncryptInfo: *mut *mut CMSG_KEY_AGREE_KEY_ENCRYPT_INFO,
4440     pub dwFlags: u32,
4441 }
4442 #[cfg(feature = "Win32_Foundation")]
4443 impl ::core::marker::Copy for CMSG_KEY_AGREE_ENCRYPT_INFO {}
4444 #[cfg(feature = "Win32_Foundation")]
4445 impl ::core::clone::Clone for CMSG_KEY_AGREE_ENCRYPT_INFO {
clone(&self) -> Self4446     fn clone(&self) -> Self {
4447         *self
4448     }
4449 }
4450 #[repr(C)]
4451 #[cfg(feature = "Win32_Foundation")]
4452 pub union CMSG_KEY_AGREE_ENCRYPT_INFO_0 {
4453     pub OriginatorCertId: CERT_ID,
4454     pub OriginatorPublicKeyInfo: CERT_PUBLIC_KEY_INFO,
4455 }
4456 #[cfg(feature = "Win32_Foundation")]
4457 impl ::core::marker::Copy for CMSG_KEY_AGREE_ENCRYPT_INFO_0 {}
4458 #[cfg(feature = "Win32_Foundation")]
4459 impl ::core::clone::Clone for CMSG_KEY_AGREE_ENCRYPT_INFO_0 {
clone(&self) -> Self4460     fn clone(&self) -> Self {
4461         *self
4462     }
4463 }
4464 #[repr(C)]
4465 pub struct CMSG_KEY_AGREE_KEY_ENCRYPT_INFO {
4466     pub cbSize: u32,
4467     pub EncryptedKey: CRYPTOAPI_BLOB,
4468 }
4469 impl ::core::marker::Copy for CMSG_KEY_AGREE_KEY_ENCRYPT_INFO {}
4470 impl ::core::clone::Clone for CMSG_KEY_AGREE_KEY_ENCRYPT_INFO {
clone(&self) -> Self4471     fn clone(&self) -> Self {
4472         *self
4473     }
4474 }
4475 pub type CMSG_KEY_AGREE_OPTION = u32;
4476 pub const CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE: CMSG_KEY_AGREE_OPTION = 1u32;
4477 pub const CMSG_KEY_AGREE_STATIC_KEY_CHOICE: CMSG_KEY_AGREE_OPTION = 2u32;
4478 pub type CMSG_KEY_AGREE_ORIGINATOR = u32;
4479 pub const CMSG_KEY_AGREE_ORIGINATOR_CERT: CMSG_KEY_AGREE_ORIGINATOR = 1u32;
4480 pub const CMSG_KEY_AGREE_ORIGINATOR_PUBLIC_KEY: CMSG_KEY_AGREE_ORIGINATOR = 2u32;
4481 pub const CMSG_KEY_AGREE_RECIPIENT: u32 = 2u32;
4482 #[repr(C)]
4483 #[cfg(feature = "Win32_Foundation")]
4484 pub struct CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {
4485     pub cbSize: u32,
4486     pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4487     pub pvKeyEncryptionAuxInfo: *mut ::core::ffi::c_void,
4488     pub KeyWrapAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4489     pub pvKeyWrapAuxInfo: *mut ::core::ffi::c_void,
4490     pub hCryptProv: usize,
4491     pub dwKeySpec: u32,
4492     pub dwKeyChoice: CMSG_KEY_AGREE_OPTION,
4493     pub Anonymous: CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO_0,
4494     pub UserKeyingMaterial: CRYPTOAPI_BLOB,
4495     pub cRecipientEncryptedKeys: u32,
4496     pub rgpRecipientEncryptedKeys: *mut *mut CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO,
4497 }
4498 #[cfg(feature = "Win32_Foundation")]
4499 impl ::core::marker::Copy for CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {}
4500 #[cfg(feature = "Win32_Foundation")]
4501 impl ::core::clone::Clone for CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {
clone(&self) -> Self4502     fn clone(&self) -> Self {
4503         *self
4504     }
4505 }
4506 #[repr(C)]
4507 #[cfg(feature = "Win32_Foundation")]
4508 pub union CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO_0 {
4509     pub pEphemeralAlgorithm: *mut CRYPT_ALGORITHM_IDENTIFIER,
4510     pub pSenderId: *mut CERT_ID,
4511 }
4512 #[cfg(feature = "Win32_Foundation")]
4513 impl ::core::marker::Copy for CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO_0 {}
4514 #[cfg(feature = "Win32_Foundation")]
4515 impl ::core::clone::Clone for CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO_0 {
clone(&self) -> Self4516     fn clone(&self) -> Self {
4517         *self
4518     }
4519 }
4520 #[repr(C)]
4521 #[cfg(feature = "Win32_Foundation")]
4522 pub struct CMSG_KEY_AGREE_RECIPIENT_INFO {
4523     pub dwVersion: u32,
4524     pub dwOriginatorChoice: CMSG_KEY_AGREE_ORIGINATOR,
4525     pub Anonymous: CMSG_KEY_AGREE_RECIPIENT_INFO_0,
4526     pub UserKeyingMaterial: CRYPTOAPI_BLOB,
4527     pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4528     pub cRecipientEncryptedKeys: u32,
4529     pub rgpRecipientEncryptedKeys: *mut *mut CMSG_RECIPIENT_ENCRYPTED_KEY_INFO,
4530 }
4531 #[cfg(feature = "Win32_Foundation")]
4532 impl ::core::marker::Copy for CMSG_KEY_AGREE_RECIPIENT_INFO {}
4533 #[cfg(feature = "Win32_Foundation")]
4534 impl ::core::clone::Clone for CMSG_KEY_AGREE_RECIPIENT_INFO {
clone(&self) -> Self4535     fn clone(&self) -> Self {
4536         *self
4537     }
4538 }
4539 #[repr(C)]
4540 #[cfg(feature = "Win32_Foundation")]
4541 pub union CMSG_KEY_AGREE_RECIPIENT_INFO_0 {
4542     pub OriginatorCertId: CERT_ID,
4543     pub OriginatorPublicKeyInfo: CERT_PUBLIC_KEY_INFO,
4544 }
4545 #[cfg(feature = "Win32_Foundation")]
4546 impl ::core::marker::Copy for CMSG_KEY_AGREE_RECIPIENT_INFO_0 {}
4547 #[cfg(feature = "Win32_Foundation")]
4548 impl ::core::clone::Clone for CMSG_KEY_AGREE_RECIPIENT_INFO_0 {
clone(&self) -> Self4549     fn clone(&self) -> Self {
4550         *self
4551     }
4552 }
4553 pub const CMSG_KEY_AGREE_VERSION: u32 = 3u32;
4554 pub const CMSG_KEY_TRANS_CMS_VERSION: u32 = 2u32;
4555 pub const CMSG_KEY_TRANS_ENCRYPT_FREE_OBJID_FLAG: u32 = 2u32;
4556 pub const CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG: u32 = 1u32;
4557 #[repr(C)]
4558 #[cfg(feature = "Win32_Foundation")]
4559 pub struct CMSG_KEY_TRANS_ENCRYPT_INFO {
4560     pub cbSize: u32,
4561     pub dwRecipientIndex: u32,
4562     pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4563     pub EncryptedKey: CRYPTOAPI_BLOB,
4564     pub dwFlags: u32,
4565 }
4566 #[cfg(feature = "Win32_Foundation")]
4567 impl ::core::marker::Copy for CMSG_KEY_TRANS_ENCRYPT_INFO {}
4568 #[cfg(feature = "Win32_Foundation")]
4569 impl ::core::clone::Clone for CMSG_KEY_TRANS_ENCRYPT_INFO {
clone(&self) -> Self4570     fn clone(&self) -> Self {
4571         *self
4572     }
4573 }
4574 pub const CMSG_KEY_TRANS_PKCS_1_5_VERSION: u32 = 0u32;
4575 pub const CMSG_KEY_TRANS_RECIPIENT: u32 = 1u32;
4576 #[repr(C)]
4577 #[cfg(feature = "Win32_Foundation")]
4578 pub struct CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO {
4579     pub cbSize: u32,
4580     pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4581     pub pvKeyEncryptionAuxInfo: *mut ::core::ffi::c_void,
4582     pub hCryptProv: usize,
4583     pub RecipientPublicKey: CRYPT_BIT_BLOB,
4584     pub RecipientId: CERT_ID,
4585 }
4586 #[cfg(feature = "Win32_Foundation")]
4587 impl ::core::marker::Copy for CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO {}
4588 #[cfg(feature = "Win32_Foundation")]
4589 impl ::core::clone::Clone for CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO {
clone(&self) -> Self4590     fn clone(&self) -> Self {
4591         *self
4592     }
4593 }
4594 #[repr(C)]
4595 #[cfg(feature = "Win32_Foundation")]
4596 pub struct CMSG_KEY_TRANS_RECIPIENT_INFO {
4597     pub dwVersion: u32,
4598     pub RecipientId: CERT_ID,
4599     pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4600     pub EncryptedKey: CRYPTOAPI_BLOB,
4601 }
4602 #[cfg(feature = "Win32_Foundation")]
4603 impl ::core::marker::Copy for CMSG_KEY_TRANS_RECIPIENT_INFO {}
4604 #[cfg(feature = "Win32_Foundation")]
4605 impl ::core::clone::Clone for CMSG_KEY_TRANS_RECIPIENT_INFO {
clone(&self) -> Self4606     fn clone(&self) -> Self {
4607         *self
4608     }
4609 }
4610 pub const CMSG_LENGTH_ONLY_FLAG: u32 = 2u32;
4611 pub const CMSG_MAIL_LIST_ENCRYPT_FREE_OBJID_FLAG: u32 = 2u32;
4612 pub const CMSG_MAIL_LIST_ENCRYPT_FREE_PARA_FLAG: u32 = 1u32;
4613 #[repr(C)]
4614 #[cfg(feature = "Win32_Foundation")]
4615 pub struct CMSG_MAIL_LIST_ENCRYPT_INFO {
4616     pub cbSize: u32,
4617     pub dwRecipientIndex: u32,
4618     pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4619     pub EncryptedKey: CRYPTOAPI_BLOB,
4620     pub dwFlags: u32,
4621 }
4622 #[cfg(feature = "Win32_Foundation")]
4623 impl ::core::marker::Copy for CMSG_MAIL_LIST_ENCRYPT_INFO {}
4624 #[cfg(feature = "Win32_Foundation")]
4625 impl ::core::clone::Clone for CMSG_MAIL_LIST_ENCRYPT_INFO {
clone(&self) -> Self4626     fn clone(&self) -> Self {
4627         *self
4628     }
4629 }
4630 pub const CMSG_MAIL_LIST_HANDLE_KEY_CHOICE: u32 = 1u32;
4631 pub const CMSG_MAIL_LIST_RECIPIENT: u32 = 3u32;
4632 #[repr(C)]
4633 #[cfg(feature = "Win32_Foundation")]
4634 pub struct CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO {
4635     pub cbSize: u32,
4636     pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4637     pub pvKeyEncryptionAuxInfo: *mut ::core::ffi::c_void,
4638     pub hCryptProv: usize,
4639     pub dwKeyChoice: u32,
4640     pub Anonymous: CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO_0,
4641     pub KeyId: CRYPTOAPI_BLOB,
4642     pub Date: super::super::Foundation::FILETIME,
4643     pub pOtherAttr: *mut CRYPT_ATTRIBUTE_TYPE_VALUE,
4644 }
4645 #[cfg(feature = "Win32_Foundation")]
4646 impl ::core::marker::Copy for CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO {}
4647 #[cfg(feature = "Win32_Foundation")]
4648 impl ::core::clone::Clone for CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO {
clone(&self) -> Self4649     fn clone(&self) -> Self {
4650         *self
4651     }
4652 }
4653 #[repr(C)]
4654 #[cfg(feature = "Win32_Foundation")]
4655 pub union CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO_0 {
4656     pub hKeyEncryptionKey: usize,
4657     pub pvKeyEncryptionKey: *mut ::core::ffi::c_void,
4658 }
4659 #[cfg(feature = "Win32_Foundation")]
4660 impl ::core::marker::Copy for CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO_0 {}
4661 #[cfg(feature = "Win32_Foundation")]
4662 impl ::core::clone::Clone for CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO_0 {
clone(&self) -> Self4663     fn clone(&self) -> Self {
4664         *self
4665     }
4666 }
4667 #[repr(C)]
4668 #[cfg(feature = "Win32_Foundation")]
4669 pub struct CMSG_MAIL_LIST_RECIPIENT_INFO {
4670     pub dwVersion: u32,
4671     pub KeyId: CRYPTOAPI_BLOB,
4672     pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4673     pub EncryptedKey: CRYPTOAPI_BLOB,
4674     pub Date: super::super::Foundation::FILETIME,
4675     pub pOtherAttr: *mut CRYPT_ATTRIBUTE_TYPE_VALUE,
4676 }
4677 #[cfg(feature = "Win32_Foundation")]
4678 impl ::core::marker::Copy for CMSG_MAIL_LIST_RECIPIENT_INFO {}
4679 #[cfg(feature = "Win32_Foundation")]
4680 impl ::core::clone::Clone for CMSG_MAIL_LIST_RECIPIENT_INFO {
clone(&self) -> Self4681     fn clone(&self) -> Self {
4682         *self
4683     }
4684 }
4685 pub const CMSG_MAIL_LIST_VERSION: u32 = 4u32;
4686 pub const CMSG_MAX_LENGTH_FLAG: u32 = 32u32;
4687 #[repr(C)]
4688 pub struct CMSG_RC2_AUX_INFO {
4689     pub cbSize: u32,
4690     pub dwBitLen: u32,
4691 }
4692 impl ::core::marker::Copy for CMSG_RC2_AUX_INFO {}
4693 impl ::core::clone::Clone for CMSG_RC2_AUX_INFO {
clone(&self) -> Self4694     fn clone(&self) -> Self {
4695         *self
4696     }
4697 }
4698 #[repr(C)]
4699 pub struct CMSG_RC4_AUX_INFO {
4700     pub cbSize: u32,
4701     pub dwBitLen: u32,
4702 }
4703 impl ::core::marker::Copy for CMSG_RC4_AUX_INFO {}
4704 impl ::core::clone::Clone for CMSG_RC4_AUX_INFO {
clone(&self) -> Self4705     fn clone(&self) -> Self {
4706         *self
4707     }
4708 }
4709 pub const CMSG_RC4_NO_SALT_FLAG: u32 = 1073741824u32;
4710 pub const CMSG_RECIPIENT_COUNT_PARAM: u32 = 17u32;
4711 #[repr(C)]
4712 #[cfg(feature = "Win32_Foundation")]
4713 pub struct CMSG_RECIPIENT_ENCODE_INFO {
4714     pub dwRecipientChoice: u32,
4715     pub Anonymous: CMSG_RECIPIENT_ENCODE_INFO_0,
4716 }
4717 #[cfg(feature = "Win32_Foundation")]
4718 impl ::core::marker::Copy for CMSG_RECIPIENT_ENCODE_INFO {}
4719 #[cfg(feature = "Win32_Foundation")]
4720 impl ::core::clone::Clone for CMSG_RECIPIENT_ENCODE_INFO {
clone(&self) -> Self4721     fn clone(&self) -> Self {
4722         *self
4723     }
4724 }
4725 #[repr(C)]
4726 #[cfg(feature = "Win32_Foundation")]
4727 pub union CMSG_RECIPIENT_ENCODE_INFO_0 {
4728     pub pKeyTrans: *mut CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO,
4729     pub pKeyAgree: *mut CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO,
4730     pub pMailList: *mut CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO,
4731 }
4732 #[cfg(feature = "Win32_Foundation")]
4733 impl ::core::marker::Copy for CMSG_RECIPIENT_ENCODE_INFO_0 {}
4734 #[cfg(feature = "Win32_Foundation")]
4735 impl ::core::clone::Clone for CMSG_RECIPIENT_ENCODE_INFO_0 {
clone(&self) -> Self4736     fn clone(&self) -> Self {
4737         *self
4738     }
4739 }
4740 #[repr(C)]
4741 #[cfg(feature = "Win32_Foundation")]
4742 pub struct CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO {
4743     pub cbSize: u32,
4744     pub RecipientPublicKey: CRYPT_BIT_BLOB,
4745     pub RecipientId: CERT_ID,
4746     pub Date: super::super::Foundation::FILETIME,
4747     pub pOtherAttr: *mut CRYPT_ATTRIBUTE_TYPE_VALUE,
4748 }
4749 #[cfg(feature = "Win32_Foundation")]
4750 impl ::core::marker::Copy for CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO {}
4751 #[cfg(feature = "Win32_Foundation")]
4752 impl ::core::clone::Clone for CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO {
clone(&self) -> Self4753     fn clone(&self) -> Self {
4754         *self
4755     }
4756 }
4757 #[repr(C)]
4758 #[cfg(feature = "Win32_Foundation")]
4759 pub struct CMSG_RECIPIENT_ENCRYPTED_KEY_INFO {
4760     pub RecipientId: CERT_ID,
4761     pub EncryptedKey: CRYPTOAPI_BLOB,
4762     pub Date: super::super::Foundation::FILETIME,
4763     pub pOtherAttr: *mut CRYPT_ATTRIBUTE_TYPE_VALUE,
4764 }
4765 #[cfg(feature = "Win32_Foundation")]
4766 impl ::core::marker::Copy for CMSG_RECIPIENT_ENCRYPTED_KEY_INFO {}
4767 #[cfg(feature = "Win32_Foundation")]
4768 impl ::core::clone::Clone for CMSG_RECIPIENT_ENCRYPTED_KEY_INFO {
clone(&self) -> Self4769     fn clone(&self) -> Self {
4770         *self
4771     }
4772 }
4773 pub const CMSG_RECIPIENT_INDEX_PARAM: u32 = 18u32;
4774 pub const CMSG_RECIPIENT_INFO_PARAM: u32 = 19u32;
4775 #[repr(C)]
4776 #[cfg(feature = "Win32_Foundation")]
4777 pub struct CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO {
4778     pub cbSize: u32,
4779     pub SignedInfo: CMSG_SIGNED_ENCODE_INFO,
4780     pub EnvelopedInfo: CMSG_ENVELOPED_ENCODE_INFO,
4781 }
4782 #[cfg(feature = "Win32_Foundation")]
4783 impl ::core::marker::Copy for CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO {}
4784 #[cfg(feature = "Win32_Foundation")]
4785 impl ::core::clone::Clone for CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO {
clone(&self) -> Self4786     fn clone(&self) -> Self {
4787         *self
4788     }
4789 }
4790 pub const CMSG_SIGNED_DATA_CMS_VERSION: u32 = 3u32;
4791 pub const CMSG_SIGNED_DATA_NO_SIGN_FLAG: u32 = 128u32;
4792 pub const CMSG_SIGNED_DATA_PKCS_1_5_VERSION: u32 = 1u32;
4793 pub const CMSG_SIGNED_DATA_V1: u32 = 1u32;
4794 pub const CMSG_SIGNED_DATA_V3: u32 = 3u32;
4795 #[repr(C)]
4796 #[cfg(feature = "Win32_Foundation")]
4797 pub struct CMSG_SIGNED_ENCODE_INFO {
4798     pub cbSize: u32,
4799     pub cSigners: u32,
4800     pub rgSigners: *mut CMSG_SIGNER_ENCODE_INFO,
4801     pub cCertEncoded: u32,
4802     pub rgCertEncoded: *mut CRYPTOAPI_BLOB,
4803     pub cCrlEncoded: u32,
4804     pub rgCrlEncoded: *mut CRYPTOAPI_BLOB,
4805 }
4806 #[cfg(feature = "Win32_Foundation")]
4807 impl ::core::marker::Copy for CMSG_SIGNED_ENCODE_INFO {}
4808 #[cfg(feature = "Win32_Foundation")]
4809 impl ::core::clone::Clone for CMSG_SIGNED_ENCODE_INFO {
clone(&self) -> Self4810     fn clone(&self) -> Self {
4811         *self
4812     }
4813 }
4814 pub const CMSG_SIGNER_AUTH_ATTR_PARAM: u32 = 9u32;
4815 pub const CMSG_SIGNER_CERT_ID_PARAM: u32 = 38u32;
4816 pub const CMSG_SIGNER_CERT_INFO_PARAM: u32 = 7u32;
4817 pub const CMSG_SIGNER_COUNT_PARAM: u32 = 5u32;
4818 #[repr(C)]
4819 #[cfg(feature = "Win32_Foundation")]
4820 pub struct CMSG_SIGNER_ENCODE_INFO {
4821     pub cbSize: u32,
4822     pub pCertInfo: *mut CERT_INFO,
4823     pub Anonymous: CMSG_SIGNER_ENCODE_INFO_0,
4824     pub dwKeySpec: u32,
4825     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4826     pub pvHashAuxInfo: *mut ::core::ffi::c_void,
4827     pub cAuthAttr: u32,
4828     pub rgAuthAttr: *mut CRYPT_ATTRIBUTE,
4829     pub cUnauthAttr: u32,
4830     pub rgUnauthAttr: *mut CRYPT_ATTRIBUTE,
4831 }
4832 #[cfg(feature = "Win32_Foundation")]
4833 impl ::core::marker::Copy for CMSG_SIGNER_ENCODE_INFO {}
4834 #[cfg(feature = "Win32_Foundation")]
4835 impl ::core::clone::Clone for CMSG_SIGNER_ENCODE_INFO {
clone(&self) -> Self4836     fn clone(&self) -> Self {
4837         *self
4838     }
4839 }
4840 #[repr(C)]
4841 #[cfg(feature = "Win32_Foundation")]
4842 pub union CMSG_SIGNER_ENCODE_INFO_0 {
4843     pub hCryptProv: usize,
4844     pub hNCryptKey: usize,
4845 }
4846 #[cfg(feature = "Win32_Foundation")]
4847 impl ::core::marker::Copy for CMSG_SIGNER_ENCODE_INFO_0 {}
4848 #[cfg(feature = "Win32_Foundation")]
4849 impl ::core::clone::Clone for CMSG_SIGNER_ENCODE_INFO_0 {
clone(&self) -> Self4850     fn clone(&self) -> Self {
4851         *self
4852     }
4853 }
4854 pub const CMSG_SIGNER_HASH_ALGORITHM_PARAM: u32 = 8u32;
4855 #[repr(C)]
4856 #[cfg(feature = "Win32_Foundation")]
4857 pub struct CMSG_SIGNER_INFO {
4858     pub dwVersion: u32,
4859     pub Issuer: CRYPTOAPI_BLOB,
4860     pub SerialNumber: CRYPTOAPI_BLOB,
4861     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4862     pub HashEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
4863     pub EncryptedHash: CRYPTOAPI_BLOB,
4864     pub AuthAttrs: CRYPT_ATTRIBUTES,
4865     pub UnauthAttrs: CRYPT_ATTRIBUTES,
4866 }
4867 #[cfg(feature = "Win32_Foundation")]
4868 impl ::core::marker::Copy for CMSG_SIGNER_INFO {}
4869 #[cfg(feature = "Win32_Foundation")]
4870 impl ::core::clone::Clone for CMSG_SIGNER_INFO {
clone(&self) -> Self4871     fn clone(&self) -> Self {
4872         *self
4873     }
4874 }
4875 pub const CMSG_SIGNER_INFO_CMS_VERSION: u32 = 3u32;
4876 pub const CMSG_SIGNER_INFO_PARAM: u32 = 6u32;
4877 pub const CMSG_SIGNER_INFO_PKCS_1_5_VERSION: u32 = 1u32;
4878 pub const CMSG_SIGNER_INFO_V1: u32 = 1u32;
4879 pub const CMSG_SIGNER_INFO_V3: u32 = 3u32;
4880 pub const CMSG_SIGNER_ONLY_FLAG: u32 = 2u32;
4881 pub const CMSG_SIGNER_UNAUTH_ATTR_PARAM: u32 = 10u32;
4882 #[repr(C)]
4883 pub struct CMSG_SP3_COMPATIBLE_AUX_INFO {
4884     pub cbSize: u32,
4885     pub dwFlags: u32,
4886 }
4887 impl ::core::marker::Copy for CMSG_SP3_COMPATIBLE_AUX_INFO {}
4888 impl ::core::clone::Clone for CMSG_SP3_COMPATIBLE_AUX_INFO {
clone(&self) -> Self4889     fn clone(&self) -> Self {
4890         *self
4891     }
4892 }
4893 pub const CMSG_SP3_COMPATIBLE_ENCRYPT_FLAG: u32 = 2147483648u32;
4894 #[repr(C)]
4895 #[cfg(feature = "Win32_Foundation")]
4896 pub struct CMSG_STREAM_INFO {
4897     pub cbContent: u32,
4898     pub pfnStreamOutput: PFN_CMSG_STREAM_OUTPUT,
4899     pub pvArg: *mut ::core::ffi::c_void,
4900 }
4901 #[cfg(feature = "Win32_Foundation")]
4902 impl ::core::marker::Copy for CMSG_STREAM_INFO {}
4903 #[cfg(feature = "Win32_Foundation")]
4904 impl ::core::clone::Clone for CMSG_STREAM_INFO {
clone(&self) -> Self4905     fn clone(&self) -> Self {
4906         *self
4907     }
4908 }
4909 pub const CMSG_TRUSTED_SIGNER_FLAG: u32 = 1u32;
4910 pub const CMSG_TYPE_PARAM: u32 = 1u32;
4911 pub const CMSG_UNPROTECTED_ATTR_PARAM: u32 = 37u32;
4912 pub const CMSG_USE_SIGNER_INDEX_FLAG: u32 = 4u32;
4913 pub const CMSG_VERIFY_COUNTER_SIGN_ENABLE_STRONG_FLAG: u32 = 1u32;
4914 pub const CMSG_VERIFY_SIGNER_CERT: u32 = 2u32;
4915 pub const CMSG_VERIFY_SIGNER_CHAIN: u32 = 3u32;
4916 pub const CMSG_VERIFY_SIGNER_NULL: u32 = 4u32;
4917 pub const CMSG_VERIFY_SIGNER_PUBKEY: u32 = 1u32;
4918 pub const CMSG_VERSION_PARAM: u32 = 30u32;
4919 #[repr(C)]
4920 #[cfg(feature = "Win32_Foundation")]
4921 pub struct CMS_DH_KEY_INFO {
4922     pub dwVersion: u32,
4923     pub Algid: u32,
4924     pub pszContentEncObjId: super::super::Foundation::PSTR,
4925     pub PubInfo: CRYPTOAPI_BLOB,
4926     pub pReserved: *mut ::core::ffi::c_void,
4927 }
4928 #[cfg(feature = "Win32_Foundation")]
4929 impl ::core::marker::Copy for CMS_DH_KEY_INFO {}
4930 #[cfg(feature = "Win32_Foundation")]
4931 impl ::core::clone::Clone for CMS_DH_KEY_INFO {
clone(&self) -> Self4932     fn clone(&self) -> Self {
4933         *self
4934     }
4935 }
4936 #[repr(C)]
4937 pub struct CMS_KEY_INFO {
4938     pub dwVersion: u32,
4939     pub Algid: u32,
4940     pub pbOID: *mut u8,
4941     pub cbOID: u32,
4942 }
4943 impl ::core::marker::Copy for CMS_KEY_INFO {}
4944 impl ::core::clone::Clone for CMS_KEY_INFO {
clone(&self) -> Self4945     fn clone(&self) -> Self {
4946         *self
4947     }
4948 }
4949 #[repr(C)]
4950 #[cfg(feature = "Win32_Foundation")]
4951 pub struct CPS_URLS {
4952     pub pszURL: super::super::Foundation::PWSTR,
4953     pub pAlgorithm: *mut CRYPT_ALGORITHM_IDENTIFIER,
4954     pub pDigest: *mut CRYPTOAPI_BLOB,
4955 }
4956 #[cfg(feature = "Win32_Foundation")]
4957 impl ::core::marker::Copy for CPS_URLS {}
4958 #[cfg(feature = "Win32_Foundation")]
4959 impl ::core::clone::Clone for CPS_URLS {
clone(&self) -> Self4960     fn clone(&self) -> Self {
4961         *self
4962     }
4963 }
4964 #[repr(C)]
4965 #[cfg(feature = "Win32_Foundation")]
4966 pub struct CRL_CONTEXT {
4967     pub dwCertEncodingType: u32,
4968     pub pbCrlEncoded: *mut u8,
4969     pub cbCrlEncoded: u32,
4970     pub pCrlInfo: *mut CRL_INFO,
4971     pub hCertStore: *mut ::core::ffi::c_void,
4972 }
4973 #[cfg(feature = "Win32_Foundation")]
4974 impl ::core::marker::Copy for CRL_CONTEXT {}
4975 #[cfg(feature = "Win32_Foundation")]
4976 impl ::core::clone::Clone for CRL_CONTEXT {
clone(&self) -> Self4977     fn clone(&self) -> Self {
4978         *self
4979     }
4980 }
4981 #[repr(C)]
4982 #[cfg(feature = "Win32_Foundation")]
4983 pub struct CRL_DIST_POINT {
4984     pub DistPointName: CRL_DIST_POINT_NAME,
4985     pub ReasonFlags: CRYPT_BIT_BLOB,
4986     pub CRLIssuer: CERT_ALT_NAME_INFO,
4987 }
4988 #[cfg(feature = "Win32_Foundation")]
4989 impl ::core::marker::Copy for CRL_DIST_POINT {}
4990 #[cfg(feature = "Win32_Foundation")]
4991 impl ::core::clone::Clone for CRL_DIST_POINT {
clone(&self) -> Self4992     fn clone(&self) -> Self {
4993         *self
4994     }
4995 }
4996 #[repr(C)]
4997 #[cfg(feature = "Win32_Foundation")]
4998 pub struct CRL_DIST_POINTS_INFO {
4999     pub cDistPoint: u32,
5000     pub rgDistPoint: *mut CRL_DIST_POINT,
5001 }
5002 #[cfg(feature = "Win32_Foundation")]
5003 impl ::core::marker::Copy for CRL_DIST_POINTS_INFO {}
5004 #[cfg(feature = "Win32_Foundation")]
5005 impl ::core::clone::Clone for CRL_DIST_POINTS_INFO {
clone(&self) -> Self5006     fn clone(&self) -> Self {
5007         *self
5008     }
5009 }
5010 pub const CRL_DIST_POINT_ERR_CRL_ISSUER_BIT: i32 = -2147483648i32;
5011 pub const CRL_DIST_POINT_ERR_INDEX_MASK: u32 = 127u32;
5012 pub const CRL_DIST_POINT_ERR_INDEX_SHIFT: u32 = 24u32;
5013 pub const CRL_DIST_POINT_FULL_NAME: u32 = 1u32;
5014 pub const CRL_DIST_POINT_ISSUER_RDN_NAME: u32 = 2u32;
5015 #[repr(C)]
5016 #[cfg(feature = "Win32_Foundation")]
5017 pub struct CRL_DIST_POINT_NAME {
5018     pub dwDistPointNameChoice: u32,
5019     pub Anonymous: CRL_DIST_POINT_NAME_0,
5020 }
5021 #[cfg(feature = "Win32_Foundation")]
5022 impl ::core::marker::Copy for CRL_DIST_POINT_NAME {}
5023 #[cfg(feature = "Win32_Foundation")]
5024 impl ::core::clone::Clone for CRL_DIST_POINT_NAME {
clone(&self) -> Self5025     fn clone(&self) -> Self {
5026         *self
5027     }
5028 }
5029 #[repr(C)]
5030 #[cfg(feature = "Win32_Foundation")]
5031 pub union CRL_DIST_POINT_NAME_0 {
5032     pub FullName: CERT_ALT_NAME_INFO,
5033 }
5034 #[cfg(feature = "Win32_Foundation")]
5035 impl ::core::marker::Copy for CRL_DIST_POINT_NAME_0 {}
5036 #[cfg(feature = "Win32_Foundation")]
5037 impl ::core::clone::Clone for CRL_DIST_POINT_NAME_0 {
clone(&self) -> Self5038     fn clone(&self) -> Self {
5039         *self
5040     }
5041 }
5042 pub const CRL_DIST_POINT_NO_NAME: u32 = 0u32;
5043 #[repr(C)]
5044 #[cfg(feature = "Win32_Foundation")]
5045 pub struct CRL_ENTRY {
5046     pub SerialNumber: CRYPTOAPI_BLOB,
5047     pub RevocationDate: super::super::Foundation::FILETIME,
5048     pub cExtension: u32,
5049     pub rgExtension: *mut CERT_EXTENSION,
5050 }
5051 #[cfg(feature = "Win32_Foundation")]
5052 impl ::core::marker::Copy for CRL_ENTRY {}
5053 #[cfg(feature = "Win32_Foundation")]
5054 impl ::core::clone::Clone for CRL_ENTRY {
clone(&self) -> Self5055     fn clone(&self) -> Self {
5056         *self
5057     }
5058 }
5059 pub const CRL_FIND_ANY: u32 = 0u32;
5060 pub const CRL_FIND_EXISTING: u32 = 2u32;
5061 pub const CRL_FIND_ISSUED_BY: u32 = 1u32;
5062 pub const CRL_FIND_ISSUED_BY_AKI_FLAG: u32 = 1u32;
5063 pub const CRL_FIND_ISSUED_BY_BASE_FLAG: u32 = 8u32;
5064 pub const CRL_FIND_ISSUED_BY_DELTA_FLAG: u32 = 4u32;
5065 pub const CRL_FIND_ISSUED_BY_SIGNATURE_FLAG: u32 = 2u32;
5066 pub const CRL_FIND_ISSUED_FOR: u32 = 3u32;
5067 #[repr(C)]
5068 #[cfg(feature = "Win32_Foundation")]
5069 pub struct CRL_FIND_ISSUED_FOR_PARA {
5070     pub pSubjectCert: *mut CERT_CONTEXT,
5071     pub pIssuerCert: *mut CERT_CONTEXT,
5072 }
5073 #[cfg(feature = "Win32_Foundation")]
5074 impl ::core::marker::Copy for CRL_FIND_ISSUED_FOR_PARA {}
5075 #[cfg(feature = "Win32_Foundation")]
5076 impl ::core::clone::Clone for CRL_FIND_ISSUED_FOR_PARA {
clone(&self) -> Self5077     fn clone(&self) -> Self {
5078         *self
5079     }
5080 }
5081 pub const CRL_FIND_ISSUED_FOR_SET_STRONG_PROPERTIES_FLAG: u32 = 16u32;
5082 #[repr(C)]
5083 #[cfg(feature = "Win32_Foundation")]
5084 pub struct CRL_INFO {
5085     pub dwVersion: u32,
5086     pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
5087     pub Issuer: CRYPTOAPI_BLOB,
5088     pub ThisUpdate: super::super::Foundation::FILETIME,
5089     pub NextUpdate: super::super::Foundation::FILETIME,
5090     pub cCRLEntry: u32,
5091     pub rgCRLEntry: *mut CRL_ENTRY,
5092     pub cExtension: u32,
5093     pub rgExtension: *mut CERT_EXTENSION,
5094 }
5095 #[cfg(feature = "Win32_Foundation")]
5096 impl ::core::marker::Copy for CRL_INFO {}
5097 #[cfg(feature = "Win32_Foundation")]
5098 impl ::core::clone::Clone for CRL_INFO {
clone(&self) -> Self5099     fn clone(&self) -> Self {
5100         *self
5101     }
5102 }
5103 #[repr(C)]
5104 #[cfg(feature = "Win32_Foundation")]
5105 pub struct CRL_ISSUING_DIST_POINT {
5106     pub DistPointName: CRL_DIST_POINT_NAME,
5107     pub fOnlyContainsUserCerts: super::super::Foundation::BOOL,
5108     pub fOnlyContainsCACerts: super::super::Foundation::BOOL,
5109     pub OnlySomeReasonFlags: CRYPT_BIT_BLOB,
5110     pub fIndirectCRL: super::super::Foundation::BOOL,
5111 }
5112 #[cfg(feature = "Win32_Foundation")]
5113 impl ::core::marker::Copy for CRL_ISSUING_DIST_POINT {}
5114 #[cfg(feature = "Win32_Foundation")]
5115 impl ::core::clone::Clone for CRL_ISSUING_DIST_POINT {
clone(&self) -> Self5116     fn clone(&self) -> Self {
5117         *self
5118     }
5119 }
5120 pub const CRL_REASON_AA_COMPROMISE: u32 = 10u32;
5121 pub const CRL_REASON_AA_COMPROMISE_FLAG: u32 = 128u32;
5122 pub const CRL_REASON_AFFILIATION_CHANGED_FLAG: u32 = 16u32;
5123 pub const CRL_REASON_CA_COMPROMISE_FLAG: u32 = 32u32;
5124 pub const CRL_REASON_CERTIFICATE_HOLD_FLAG: u32 = 2u32;
5125 pub const CRL_REASON_CESSATION_OF_OPERATION_FLAG: u32 = 4u32;
5126 pub const CRL_REASON_KEY_COMPROMISE_FLAG: u32 = 64u32;
5127 pub const CRL_REASON_PRIVILEGE_WITHDRAWN: u32 = 9u32;
5128 pub const CRL_REASON_PRIVILEGE_WITHDRAWN_FLAG: u32 = 1u32;
5129 pub const CRL_REASON_SUPERSEDED_FLAG: u32 = 8u32;
5130 pub const CRL_REASON_UNUSED_FLAG: u32 = 128u32;
5131 #[repr(C)]
5132 #[cfg(feature = "Win32_Foundation")]
5133 pub struct CRL_REVOCATION_INFO {
5134     pub pCrlEntry: *mut CRL_ENTRY,
5135     pub pCrlContext: *mut CRL_CONTEXT,
5136     pub pCrlIssuerChain: *mut CERT_CHAIN_CONTEXT,
5137 }
5138 #[cfg(feature = "Win32_Foundation")]
5139 impl ::core::marker::Copy for CRL_REVOCATION_INFO {}
5140 #[cfg(feature = "Win32_Foundation")]
5141 impl ::core::clone::Clone for CRL_REVOCATION_INFO {
clone(&self) -> Self5142     fn clone(&self) -> Self {
5143         *self
5144     }
5145 }
5146 pub const CRL_V1: u32 = 0u32;
5147 pub const CRL_V2: u32 = 1u32;
5148 #[repr(C)]
5149 #[cfg(feature = "Win32_Foundation")]
5150 pub struct CROSS_CERT_DIST_POINTS_INFO {
5151     pub dwSyncDeltaTime: u32,
5152     pub cDistPoint: u32,
5153     pub rgDistPoint: *mut CERT_ALT_NAME_INFO,
5154 }
5155 #[cfg(feature = "Win32_Foundation")]
5156 impl ::core::marker::Copy for CROSS_CERT_DIST_POINTS_INFO {}
5157 #[cfg(feature = "Win32_Foundation")]
5158 impl ::core::clone::Clone for CROSS_CERT_DIST_POINTS_INFO {
clone(&self) -> Self5159     fn clone(&self) -> Self {
5160         *self
5161     }
5162 }
5163 pub const CROSS_CERT_DIST_POINT_ERR_INDEX_MASK: u32 = 255u32;
5164 pub const CROSS_CERT_DIST_POINT_ERR_INDEX_SHIFT: u32 = 24u32;
5165 pub const CRYPTNET_CACHED_OCSP_SWITCH_TO_CRL_COUNT_DEFAULT: u32 = 50u32;
5166 pub const CRYPTNET_CRL_BEFORE_OCSP_ENABLE: u32 = 4294967295u32;
5167 pub const CRYPTNET_MAX_CACHED_OCSP_PER_CRL_COUNT_DEFAULT: u32 = 500u32;
5168 pub const CRYPTNET_OCSP_AFTER_CRL_DISABLE: u32 = 4294967295u32;
5169 pub const CRYPTNET_PRE_FETCH_AFTER_PUBLISH_PRE_FETCH_DIVISOR_DEFAULT: u32 = 10u32;
5170 pub const CRYPTNET_PRE_FETCH_BEFORE_NEXT_UPDATE_PRE_FETCH_DIVISOR_DEFAULT: u32 = 20u32;
5171 pub const CRYPTNET_PRE_FETCH_SCAN_AFTER_TRIGGER_DELAY_SECONDS_DEFAULT: u32 = 60u32;
5172 pub const CRYPTNET_PRE_FETCH_TRIGGER_DISABLE: u32 = 4294967295u32;
5173 pub const CRYPTNET_PRE_FETCH_VALIDITY_PERIOD_AFTER_NEXT_UPDATE_PRE_FETCH_DIVISOR_DEFAULT: u32 = 10u32;
5174 pub const CRYPTNET_URL_CACHE_DEFAULT_FLUSH: u32 = 0u32;
5175 pub const CRYPTNET_URL_CACHE_DISABLE_FLUSH: u32 = 4294967295u32;
5176 #[repr(C)]
5177 #[cfg(feature = "Win32_Foundation")]
5178 pub struct CRYPTNET_URL_CACHE_FLUSH_INFO {
5179     pub cbSize: u32,
5180     pub dwExemptSeconds: u32,
5181     pub ExpireTime: super::super::Foundation::FILETIME,
5182 }
5183 #[cfg(feature = "Win32_Foundation")]
5184 impl ::core::marker::Copy for CRYPTNET_URL_CACHE_FLUSH_INFO {}
5185 #[cfg(feature = "Win32_Foundation")]
5186 impl ::core::clone::Clone for CRYPTNET_URL_CACHE_FLUSH_INFO {
clone(&self) -> Self5187     fn clone(&self) -> Self {
5188         *self
5189     }
5190 }
5191 pub const CRYPTNET_URL_CACHE_PRE_FETCH_AUTOROOT_CAB: u32 = 5u32;
5192 pub const CRYPTNET_URL_CACHE_PRE_FETCH_BLOB: u32 = 1u32;
5193 pub const CRYPTNET_URL_CACHE_PRE_FETCH_CRL: u32 = 2u32;
5194 pub const CRYPTNET_URL_CACHE_PRE_FETCH_DISALLOWED_CERT_CAB: u32 = 6u32;
5195 #[repr(C)]
5196 #[cfg(feature = "Win32_Foundation")]
5197 pub struct CRYPTNET_URL_CACHE_PRE_FETCH_INFO {
5198     pub cbSize: u32,
5199     pub dwObjectType: u32,
5200     pub dwError: u32,
5201     pub dwReserved: u32,
5202     pub ThisUpdateTime: super::super::Foundation::FILETIME,
5203     pub NextUpdateTime: super::super::Foundation::FILETIME,
5204     pub PublishTime: super::super::Foundation::FILETIME,
5205 }
5206 #[cfg(feature = "Win32_Foundation")]
5207 impl ::core::marker::Copy for CRYPTNET_URL_CACHE_PRE_FETCH_INFO {}
5208 #[cfg(feature = "Win32_Foundation")]
5209 impl ::core::clone::Clone for CRYPTNET_URL_CACHE_PRE_FETCH_INFO {
clone(&self) -> Self5210     fn clone(&self) -> Self {
5211         *self
5212     }
5213 }
5214 pub const CRYPTNET_URL_CACHE_PRE_FETCH_NONE: u32 = 0u32;
5215 pub const CRYPTNET_URL_CACHE_PRE_FETCH_OCSP: u32 = 3u32;
5216 pub const CRYPTNET_URL_CACHE_PRE_FETCH_PIN_RULES_CAB: u32 = 7u32;
5217 pub const CRYPTNET_URL_CACHE_RESPONSE_HTTP: u32 = 1u32;
5218 #[repr(C)]
5219 #[cfg(feature = "Win32_Foundation")]
5220 pub struct CRYPTNET_URL_CACHE_RESPONSE_INFO {
5221     pub cbSize: u32,
5222     pub wResponseType: u16,
5223     pub wResponseFlags: u16,
5224     pub LastModifiedTime: super::super::Foundation::FILETIME,
5225     pub dwMaxAge: u32,
5226     pub pwszETag: super::super::Foundation::PWSTR,
5227     pub dwProxyId: u32,
5228 }
5229 #[cfg(feature = "Win32_Foundation")]
5230 impl ::core::marker::Copy for CRYPTNET_URL_CACHE_RESPONSE_INFO {}
5231 #[cfg(feature = "Win32_Foundation")]
5232 impl ::core::clone::Clone for CRYPTNET_URL_CACHE_RESPONSE_INFO {
clone(&self) -> Self5233     fn clone(&self) -> Self {
5234         *self
5235     }
5236 }
5237 pub const CRYPTNET_URL_CACHE_RESPONSE_NONE: u32 = 0u32;
5238 pub const CRYPTNET_URL_CACHE_RESPONSE_VALIDATED: u32 = 32768u32;
5239 #[repr(C)]
5240 pub struct CRYPTOAPI_BLOB {
5241     pub cbData: u32,
5242     pub pbData: *mut u8,
5243 }
5244 impl ::core::marker::Copy for CRYPTOAPI_BLOB {}
5245 impl ::core::clone::Clone for CRYPTOAPI_BLOB {
clone(&self) -> Self5246     fn clone(&self) -> Self {
5247         *self
5248     }
5249 }
5250 pub const CRYPTPROTECTMEMORY_BLOCK_SIZE: u32 = 16u32;
5251 pub const CRYPTPROTECTMEMORY_CROSS_PROCESS: u32 = 1u32;
5252 pub const CRYPTPROTECTMEMORY_SAME_LOGON: u32 = 2u32;
5253 pub const CRYPTPROTECTMEMORY_SAME_PROCESS: u32 = 0u32;
5254 pub const CRYPTPROTECT_AUDIT: u32 = 16u32;
5255 pub const CRYPTPROTECT_CRED_REGENERATE: u32 = 128u32;
5256 pub const CRYPTPROTECT_CRED_SYNC: u32 = 8u32;
5257 pub const CRYPTPROTECT_FIRST_RESERVED_FLAGVAL: u32 = 268435455u32;
5258 pub const CRYPTPROTECT_LAST_RESERVED_FLAGVAL: u32 = 4294967295u32;
5259 pub const CRYPTPROTECT_LOCAL_MACHINE: u32 = 4u32;
5260 pub const CRYPTPROTECT_NO_RECOVERY: u32 = 32u32;
5261 #[repr(C)]
5262 #[cfg(feature = "Win32_Foundation")]
5263 pub struct CRYPTPROTECT_PROMPTSTRUCT {
5264     pub cbSize: u32,
5265     pub dwPromptFlags: u32,
5266     pub hwndApp: super::super::Foundation::HWND,
5267     pub szPrompt: super::super::Foundation::PWSTR,
5268 }
5269 #[cfg(feature = "Win32_Foundation")]
5270 impl ::core::marker::Copy for CRYPTPROTECT_PROMPTSTRUCT {}
5271 #[cfg(feature = "Win32_Foundation")]
5272 impl ::core::clone::Clone for CRYPTPROTECT_PROMPTSTRUCT {
clone(&self) -> Self5273     fn clone(&self) -> Self {
5274         *self
5275     }
5276 }
5277 pub const CRYPTPROTECT_PROMPT_ON_PROTECT: u32 = 2u32;
5278 pub const CRYPTPROTECT_PROMPT_ON_UNPROTECT: u32 = 1u32;
5279 pub const CRYPTPROTECT_PROMPT_REQUIRE_STRONG: u32 = 16u32;
5280 pub const CRYPTPROTECT_PROMPT_RESERVED: u32 = 4u32;
5281 pub const CRYPTPROTECT_PROMPT_STRONG: u32 = 8u32;
5282 pub const CRYPTPROTECT_UI_FORBIDDEN: u32 = 1u32;
5283 pub const CRYPTPROTECT_VERIFY_PROTECTION: u32 = 64u32;
5284 #[repr(C)]
5285 pub struct CRYPT_3DES_KEY_STATE {
5286     pub Key: [u8; 24],
5287     pub IV: [u8; 8],
5288     pub Feedback: [u8; 8],
5289 }
5290 impl ::core::marker::Copy for CRYPT_3DES_KEY_STATE {}
5291 impl ::core::clone::Clone for CRYPT_3DES_KEY_STATE {
clone(&self) -> Self5292     fn clone(&self) -> Self {
5293         *self
5294     }
5295 }
5296 pub const CRYPT_ACCUMULATIVE_TIMEOUT: u32 = 2048u32;
5297 pub const CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG: u32 = 65536u32;
5298 pub type CRYPT_ACQUIRE_FLAGS = u32;
5299 pub const CRYPT_ACQUIRE_CACHE_FLAG: CRYPT_ACQUIRE_FLAGS = 1u32;
5300 pub const CRYPT_ACQUIRE_COMPARE_KEY_FLAG: CRYPT_ACQUIRE_FLAGS = 4u32;
5301 pub const CRYPT_ACQUIRE_NO_HEALING: CRYPT_ACQUIRE_FLAGS = 8u32;
5302 pub const CRYPT_ACQUIRE_SILENT_FLAG: CRYPT_ACQUIRE_FLAGS = 64u32;
5303 pub const CRYPT_ACQUIRE_USE_PROV_INFO_FLAG: CRYPT_ACQUIRE_FLAGS = 2u32;
5304 pub const CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK: u32 = 458752u32;
5305 pub const CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG: u32 = 262144u32;
5306 pub const CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG: u32 = 131072u32;
5307 pub const CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG: u32 = 128u32;
5308 #[repr(C)]
5309 pub struct CRYPT_AES_128_KEY_STATE {
5310     pub Key: [u8; 16],
5311     pub IV: [u8; 16],
5312     pub EncryptionState: [u8; 176],
5313     pub DecryptionState: [u8; 176],
5314     pub Feedback: [u8; 16],
5315 }
5316 impl ::core::marker::Copy for CRYPT_AES_128_KEY_STATE {}
5317 impl ::core::clone::Clone for CRYPT_AES_128_KEY_STATE {
clone(&self) -> Self5318     fn clone(&self) -> Self {
5319         *self
5320     }
5321 }
5322 #[repr(C)]
5323 pub struct CRYPT_AES_256_KEY_STATE {
5324     pub Key: [u8; 32],
5325     pub IV: [u8; 16],
5326     pub EncryptionState: [u8; 240],
5327     pub DecryptionState: [u8; 240],
5328     pub Feedback: [u8; 16],
5329 }
5330 impl ::core::marker::Copy for CRYPT_AES_256_KEY_STATE {}
5331 impl ::core::clone::Clone for CRYPT_AES_256_KEY_STATE {
clone(&self) -> Self5332     fn clone(&self) -> Self {
5333         *self
5334     }
5335 }
5336 pub const CRYPT_AIA_RETRIEVAL: u32 = 524288u32;
5337 #[repr(C)]
5338 #[cfg(feature = "Win32_Foundation")]
5339 pub struct CRYPT_ALGORITHM_IDENTIFIER {
5340     pub pszObjId: super::super::Foundation::PSTR,
5341     pub Parameters: CRYPTOAPI_BLOB,
5342 }
5343 #[cfg(feature = "Win32_Foundation")]
5344 impl ::core::marker::Copy for CRYPT_ALGORITHM_IDENTIFIER {}
5345 #[cfg(feature = "Win32_Foundation")]
5346 impl ::core::clone::Clone for CRYPT_ALGORITHM_IDENTIFIER {
clone(&self) -> Self5347     fn clone(&self) -> Self {
5348         *self
5349     }
5350 }
5351 pub const CRYPT_ARCHIVE: u32 = 256u32;
5352 pub const CRYPT_ASN_ENCODING: u32 = 1u32;
5353 pub const CRYPT_ASYNC_RETRIEVAL: u32 = 16u32;
5354 #[repr(C)]
5355 #[cfg(feature = "Win32_Foundation")]
5356 pub struct CRYPT_ASYNC_RETRIEVAL_COMPLETION {
5357     pub pfnCompletion: PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC,
5358     pub pvCompletion: *mut ::core::ffi::c_void,
5359 }
5360 #[cfg(feature = "Win32_Foundation")]
5361 impl ::core::marker::Copy for CRYPT_ASYNC_RETRIEVAL_COMPLETION {}
5362 #[cfg(feature = "Win32_Foundation")]
5363 impl ::core::clone::Clone for CRYPT_ASYNC_RETRIEVAL_COMPLETION {
clone(&self) -> Self5364     fn clone(&self) -> Self {
5365         *self
5366     }
5367 }
5368 #[repr(C)]
5369 #[cfg(feature = "Win32_Foundation")]
5370 pub struct CRYPT_ATTRIBUTE {
5371     pub pszObjId: super::super::Foundation::PSTR,
5372     pub cValue: u32,
5373     pub rgValue: *mut CRYPTOAPI_BLOB,
5374 }
5375 #[cfg(feature = "Win32_Foundation")]
5376 impl ::core::marker::Copy for CRYPT_ATTRIBUTE {}
5377 #[cfg(feature = "Win32_Foundation")]
5378 impl ::core::clone::Clone for CRYPT_ATTRIBUTE {
clone(&self) -> Self5379     fn clone(&self) -> Self {
5380         *self
5381     }
5382 }
5383 #[repr(C)]
5384 #[cfg(feature = "Win32_Foundation")]
5385 pub struct CRYPT_ATTRIBUTES {
5386     pub cAttr: u32,
5387     pub rgAttr: *mut CRYPT_ATTRIBUTE,
5388 }
5389 #[cfg(feature = "Win32_Foundation")]
5390 impl ::core::marker::Copy for CRYPT_ATTRIBUTES {}
5391 #[cfg(feature = "Win32_Foundation")]
5392 impl ::core::clone::Clone for CRYPT_ATTRIBUTES {
clone(&self) -> Self5393     fn clone(&self) -> Self {
5394         *self
5395     }
5396 }
5397 #[repr(C)]
5398 #[cfg(feature = "Win32_Foundation")]
5399 pub struct CRYPT_ATTRIBUTE_TYPE_VALUE {
5400     pub pszObjId: super::super::Foundation::PSTR,
5401     pub Value: CRYPTOAPI_BLOB,
5402 }
5403 #[cfg(feature = "Win32_Foundation")]
5404 impl ::core::marker::Copy for CRYPT_ATTRIBUTE_TYPE_VALUE {}
5405 #[cfg(feature = "Win32_Foundation")]
5406 impl ::core::clone::Clone for CRYPT_ATTRIBUTE_TYPE_VALUE {
clone(&self) -> Self5407     fn clone(&self) -> Self {
5408         *self
5409     }
5410 }
5411 #[repr(C)]
5412 pub struct CRYPT_BIT_BLOB {
5413     pub cbData: u32,
5414     pub pbData: *mut u8,
5415     pub cUnusedBits: u32,
5416 }
5417 impl ::core::marker::Copy for CRYPT_BIT_BLOB {}
5418 impl ::core::clone::Clone for CRYPT_BIT_BLOB {
clone(&self) -> Self5419     fn clone(&self) -> Self {
5420         *self
5421     }
5422 }
5423 #[repr(C)]
5424 pub struct CRYPT_BLOB_ARRAY {
5425     pub cBlob: u32,
5426     pub rgBlob: *mut CRYPTOAPI_BLOB,
5427 }
5428 impl ::core::marker::Copy for CRYPT_BLOB_ARRAY {}
5429 impl ::core::clone::Clone for CRYPT_BLOB_ARRAY {
clone(&self) -> Self5430     fn clone(&self) -> Self {
5431         *self
5432     }
5433 }
5434 pub const CRYPT_CACHE_ONLY_RETRIEVAL: u32 = 2u32;
5435 pub const CRYPT_CHECK_FRESHNESS_TIME_VALIDITY: u32 = 1024u32;
5436 #[repr(C)]
5437 #[cfg(feature = "Win32_Foundation")]
5438 pub struct CRYPT_CONTENT_INFO {
5439     pub pszObjId: super::super::Foundation::PSTR,
5440     pub Content: CRYPTOAPI_BLOB,
5441 }
5442 #[cfg(feature = "Win32_Foundation")]
5443 impl ::core::marker::Copy for CRYPT_CONTENT_INFO {}
5444 #[cfg(feature = "Win32_Foundation")]
5445 impl ::core::clone::Clone for CRYPT_CONTENT_INFO {
clone(&self) -> Self5446     fn clone(&self) -> Self {
5447         *self
5448     }
5449 }
5450 #[repr(C)]
5451 #[cfg(feature = "Win32_Foundation")]
5452 pub struct CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY {
5453     pub pszObjId: super::super::Foundation::PSTR,
5454     pub cValue: u32,
5455     pub rgValue: *mut CRYPTOAPI_BLOB,
5456 }
5457 #[cfg(feature = "Win32_Foundation")]
5458 impl ::core::marker::Copy for CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY {}
5459 #[cfg(feature = "Win32_Foundation")]
5460 impl ::core::clone::Clone for CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY {
clone(&self) -> Self5461     fn clone(&self) -> Self {
5462         *self
5463     }
5464 }
5465 #[repr(C)]
5466 #[cfg(feature = "Win32_Foundation")]
5467 pub struct CRYPT_CONTEXTS {
5468     pub cContexts: u32,
5469     pub rgpszContexts: *mut super::super::Foundation::PWSTR,
5470 }
5471 #[cfg(feature = "Win32_Foundation")]
5472 impl ::core::marker::Copy for CRYPT_CONTEXTS {}
5473 #[cfg(feature = "Win32_Foundation")]
5474 impl ::core::clone::Clone for CRYPT_CONTEXTS {
clone(&self) -> Self5475     fn clone(&self) -> Self {
5476         *self
5477     }
5478 }
5479 #[repr(C)]
5480 pub struct CRYPT_CONTEXT_CONFIG {
5481     pub dwFlags: CRYPT_CONTEXT_CONFIG_FLAGS,
5482     pub dwReserved: u32,
5483 }
5484 impl ::core::marker::Copy for CRYPT_CONTEXT_CONFIG {}
5485 impl ::core::clone::Clone for CRYPT_CONTEXT_CONFIG {
clone(&self) -> Self5486     fn clone(&self) -> Self {
5487         *self
5488     }
5489 }
5490 pub type CRYPT_CONTEXT_CONFIG_FLAGS = u32;
5491 pub const CRYPT_EXCLUSIVE: CRYPT_CONTEXT_CONFIG_FLAGS = 1u32;
5492 pub const CRYPT_OVERRIDE: CRYPT_CONTEXT_CONFIG_FLAGS = 65536u32;
5493 #[repr(C)]
5494 #[cfg(feature = "Win32_Foundation")]
5495 pub struct CRYPT_CONTEXT_FUNCTIONS {
5496     pub cFunctions: u32,
5497     pub rgpszFunctions: *mut super::super::Foundation::PWSTR,
5498 }
5499 #[cfg(feature = "Win32_Foundation")]
5500 impl ::core::marker::Copy for CRYPT_CONTEXT_FUNCTIONS {}
5501 #[cfg(feature = "Win32_Foundation")]
5502 impl ::core::clone::Clone for CRYPT_CONTEXT_FUNCTIONS {
clone(&self) -> Self5503     fn clone(&self) -> Self {
5504         *self
5505     }
5506 }
5507 #[repr(C)]
5508 pub struct CRYPT_CONTEXT_FUNCTION_CONFIG {
5509     pub dwFlags: u32,
5510     pub dwReserved: u32,
5511 }
5512 impl ::core::marker::Copy for CRYPT_CONTEXT_FUNCTION_CONFIG {}
5513 impl ::core::clone::Clone for CRYPT_CONTEXT_FUNCTION_CONFIG {
clone(&self) -> Self5514     fn clone(&self) -> Self {
5515         *self
5516     }
5517 }
5518 #[repr(C)]
5519 #[cfg(feature = "Win32_Foundation")]
5520 pub struct CRYPT_CONTEXT_FUNCTION_PROVIDERS {
5521     pub cProviders: u32,
5522     pub rgpszProviders: *mut super::super::Foundation::PWSTR,
5523 }
5524 #[cfg(feature = "Win32_Foundation")]
5525 impl ::core::marker::Copy for CRYPT_CONTEXT_FUNCTION_PROVIDERS {}
5526 #[cfg(feature = "Win32_Foundation")]
5527 impl ::core::clone::Clone for CRYPT_CONTEXT_FUNCTION_PROVIDERS {
clone(&self) -> Self5528     fn clone(&self) -> Self {
5529         *self
5530     }
5531 }
5532 pub const CRYPT_CREATE_NEW_FLUSH_ENTRY: u32 = 268435456u32;
5533 #[repr(C)]
5534 #[cfg(feature = "Win32_Foundation")]
5535 pub struct CRYPT_CREDENTIALS {
5536     pub cbSize: u32,
5537     pub pszCredentialsOid: super::super::Foundation::PSTR,
5538     pub pvCredentials: *mut ::core::ffi::c_void,
5539 }
5540 #[cfg(feature = "Win32_Foundation")]
5541 impl ::core::marker::Copy for CRYPT_CREDENTIALS {}
5542 #[cfg(feature = "Win32_Foundation")]
5543 impl ::core::clone::Clone for CRYPT_CREDENTIALS {
clone(&self) -> Self5544     fn clone(&self) -> Self {
5545         *self
5546     }
5547 }
5548 #[repr(C)]
5549 #[cfg(feature = "Win32_Foundation")]
5550 pub struct CRYPT_CSP_PROVIDER {
5551     pub dwKeySpec: u32,
5552     pub pwszProviderName: super::super::Foundation::PWSTR,
5553     pub Signature: CRYPT_BIT_BLOB,
5554 }
5555 #[cfg(feature = "Win32_Foundation")]
5556 impl ::core::marker::Copy for CRYPT_CSP_PROVIDER {}
5557 #[cfg(feature = "Win32_Foundation")]
5558 impl ::core::clone::Clone for CRYPT_CSP_PROVIDER {
clone(&self) -> Self5559     fn clone(&self) -> Self {
5560         *self
5561     }
5562 }
5563 pub const CRYPT_DECODE_ALLOC_FLAG: u32 = 32768u32;
5564 pub const CRYPT_DECODE_ENABLE_PUNYCODE_FLAG: u32 = 33554432u32;
5565 pub const CRYPT_DECODE_ENABLE_UTF8PERCENT_FLAG: u32 = 67108864u32;
5566 pub const CRYPT_DECODE_NOCOPY_FLAG: u32 = 1u32;
5567 pub const CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: u32 = 8u32;
5568 #[repr(C)]
5569 pub struct CRYPT_DECODE_PARA {
5570     pub cbSize: u32,
5571     pub pfnAlloc: PFN_CRYPT_ALLOC,
5572     pub pfnFree: PFN_CRYPT_FREE,
5573 }
5574 impl ::core::marker::Copy for CRYPT_DECODE_PARA {}
5575 impl ::core::clone::Clone for CRYPT_DECODE_PARA {
clone(&self) -> Self5576     fn clone(&self) -> Self {
5577         *self
5578     }
5579 }
5580 pub const CRYPT_DECODE_SHARE_OID_STRING_FLAG: u32 = 4u32;
5581 pub const CRYPT_DECODE_TO_BE_SIGNED_FLAG: u32 = 2u32;
5582 pub const CRYPT_DECRYPT: u32 = 2u32;
5583 #[repr(C)]
5584 pub struct CRYPT_DECRYPT_MESSAGE_PARA {
5585     pub cbSize: u32,
5586     pub dwMsgAndCertEncodingType: u32,
5587     pub cCertStore: u32,
5588     pub rghCertStore: *mut *mut ::core::ffi::c_void,
5589 }
5590 impl ::core::marker::Copy for CRYPT_DECRYPT_MESSAGE_PARA {}
5591 impl ::core::clone::Clone for CRYPT_DECRYPT_MESSAGE_PARA {
clone(&self) -> Self5592     fn clone(&self) -> Self {
5593         *self
5594     }
5595 }
5596 pub const CRYPT_DECRYPT_RSA_NO_PADDING_CHECK: u32 = 32u32;
5597 pub const CRYPT_DEFAULT_CONTAINER_OPTIONAL: u32 = 128u32;
5598 pub type CRYPT_DEFAULT_CONTEXT_FLAGS = u32;
5599 pub const CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG: CRYPT_DEFAULT_CONTEXT_FLAGS = 1u32;
5600 pub const CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG: CRYPT_DEFAULT_CONTEXT_FLAGS = 2u32;
5601 #[repr(C)]
5602 #[cfg(feature = "Win32_Foundation")]
5603 pub struct CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA {
5604     pub cOID: u32,
5605     pub rgpszOID: *mut super::super::Foundation::PSTR,
5606 }
5607 #[cfg(feature = "Win32_Foundation")]
5608 impl ::core::marker::Copy for CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA {}
5609 #[cfg(feature = "Win32_Foundation")]
5610 impl ::core::clone::Clone for CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA {
clone(&self) -> Self5611     fn clone(&self) -> Self {
5612         *self
5613     }
5614 }
5615 pub type CRYPT_DEFAULT_CONTEXT_TYPE = u32;
5616 pub const CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID: CRYPT_DEFAULT_CONTEXT_TYPE = 1u32;
5617 pub const CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID: CRYPT_DEFAULT_CONTEXT_TYPE = 2u32;
5618 pub const CRYPT_DELETEKEYSET: u32 = 16u32;
5619 pub const CRYPT_DELETE_DEFAULT: u32 = 4u32;
5620 pub const CRYPT_DELETE_KEYSET: u32 = 16u32;
5621 #[repr(C)]
5622 pub struct CRYPT_DES_KEY_STATE {
5623     pub Key: [u8; 8],
5624     pub IV: [u8; 8],
5625     pub Feedback: [u8; 8],
5626 }
5627 impl ::core::marker::Copy for CRYPT_DES_KEY_STATE {}
5628 impl ::core::clone::Clone for CRYPT_DES_KEY_STATE {
clone(&self) -> Self5629     fn clone(&self) -> Self {
5630         *self
5631     }
5632 }
5633 pub const CRYPT_DONT_CACHE_RESULT: u32 = 8u32;
5634 pub const CRYPT_DONT_CHECK_TIME_VALIDITY: u32 = 512u32;
5635 pub const CRYPT_DONT_VERIFY_SIGNATURE: u32 = 256u32;
5636 #[repr(C)]
5637 #[cfg(feature = "Win32_Foundation")]
5638 pub struct CRYPT_ECC_CMS_SHARED_INFO {
5639     pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER,
5640     pub EntityUInfo: CRYPTOAPI_BLOB,
5641     pub rgbSuppPubInfo: [u8; 4],
5642 }
5643 #[cfg(feature = "Win32_Foundation")]
5644 impl ::core::marker::Copy for CRYPT_ECC_CMS_SHARED_INFO {}
5645 #[cfg(feature = "Win32_Foundation")]
5646 impl ::core::clone::Clone for CRYPT_ECC_CMS_SHARED_INFO {
clone(&self) -> Self5647     fn clone(&self) -> Self {
5648         *self
5649     }
5650 }
5651 pub const CRYPT_ECC_CMS_SHARED_INFO_SUPPPUBINFO_BYTE_LENGTH: u32 = 4u32;
5652 #[repr(C)]
5653 #[cfg(feature = "Win32_Foundation")]
5654 pub struct CRYPT_ECC_PRIVATE_KEY_INFO {
5655     pub dwVersion: u32,
5656     pub PrivateKey: CRYPTOAPI_BLOB,
5657     pub szCurveOid: super::super::Foundation::PSTR,
5658     pub PublicKey: CRYPT_BIT_BLOB,
5659 }
5660 #[cfg(feature = "Win32_Foundation")]
5661 impl ::core::marker::Copy for CRYPT_ECC_PRIVATE_KEY_INFO {}
5662 #[cfg(feature = "Win32_Foundation")]
5663 impl ::core::clone::Clone for CRYPT_ECC_PRIVATE_KEY_INFO {
clone(&self) -> Self5664     fn clone(&self) -> Self {
5665         *self
5666     }
5667 }
5668 pub const CRYPT_ECC_PRIVATE_KEY_INFO_v1: u32 = 1u32;
5669 pub const CRYPT_ENABLE_FILE_RETRIEVAL: u32 = 134217728u32;
5670 pub const CRYPT_ENABLE_SSL_REVOCATION_RETRIEVAL: u32 = 8388608u32;
5671 pub const CRYPT_ENCODE_DECODE_NONE: u32 = 0u32;
5672 pub const CRYPT_ENCODE_ENABLE_UTF8PERCENT_FLAG: u32 = 262144u32;
5673 pub const CRYPT_ENCODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: u32 = 8u32;
5674 pub type CRYPT_ENCODE_OBJECT_FLAGS = u32;
5675 pub const CRYPT_ENCODE_ALLOC_FLAG: CRYPT_ENCODE_OBJECT_FLAGS = 32768u32;
5676 pub const CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG: CRYPT_ENCODE_OBJECT_FLAGS = 131072u32;
5677 pub const CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG: CRYPT_ENCODE_OBJECT_FLAGS = 1073741824u32;
5678 pub const CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG: CRYPT_ENCODE_OBJECT_FLAGS = 2147483648u32;
5679 pub const CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG: CRYPT_ENCODE_OBJECT_FLAGS = 536870912u32;
5680 #[repr(C)]
5681 pub struct CRYPT_ENCODE_PARA {
5682     pub cbSize: u32,
5683     pub pfnAlloc: PFN_CRYPT_ALLOC,
5684     pub pfnFree: PFN_CRYPT_FREE,
5685 }
5686 impl ::core::marker::Copy for CRYPT_ENCODE_PARA {}
5687 impl ::core::clone::Clone for CRYPT_ENCODE_PARA {
clone(&self) -> Self5688     fn clone(&self) -> Self {
5689         *self
5690     }
5691 }
5692 pub const CRYPT_ENCRYPT: u32 = 1u32;
5693 #[repr(C)]
5694 #[cfg(feature = "Win32_Foundation")]
5695 pub struct CRYPT_ENCRYPTED_PRIVATE_KEY_INFO {
5696     pub EncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
5697     pub EncryptedPrivateKey: CRYPTOAPI_BLOB,
5698 }
5699 #[cfg(feature = "Win32_Foundation")]
5700 impl ::core::marker::Copy for CRYPT_ENCRYPTED_PRIVATE_KEY_INFO {}
5701 #[cfg(feature = "Win32_Foundation")]
5702 impl ::core::clone::Clone for CRYPT_ENCRYPTED_PRIVATE_KEY_INFO {
clone(&self) -> Self5703     fn clone(&self) -> Self {
5704         *self
5705     }
5706 }
5707 pub const CRYPT_ENCRYPT_ALG_OID_GROUP_ID: u32 = 2u32;
5708 #[repr(C)]
5709 #[cfg(feature = "Win32_Foundation")]
5710 pub struct CRYPT_ENCRYPT_MESSAGE_PARA {
5711     pub cbSize: u32,
5712     pub dwMsgEncodingType: u32,
5713     pub hCryptProv: usize,
5714     pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
5715     pub pvEncryptionAuxInfo: *mut ::core::ffi::c_void,
5716     pub dwFlags: u32,
5717     pub dwInnerContentType: u32,
5718 }
5719 #[cfg(feature = "Win32_Foundation")]
5720 impl ::core::marker::Copy for CRYPT_ENCRYPT_MESSAGE_PARA {}
5721 #[cfg(feature = "Win32_Foundation")]
5722 impl ::core::clone::Clone for CRYPT_ENCRYPT_MESSAGE_PARA {
clone(&self) -> Self5723     fn clone(&self) -> Self {
5724         *self
5725     }
5726 }
5727 pub const CRYPT_ENHKEY_USAGE_OID_GROUP_ID: u32 = 7u32;
5728 #[repr(C)]
5729 #[cfg(feature = "Win32_Foundation")]
5730 pub struct CRYPT_ENROLLMENT_NAME_VALUE_PAIR {
5731     pub pwszName: super::super::Foundation::PWSTR,
5732     pub pwszValue: super::super::Foundation::PWSTR,
5733 }
5734 #[cfg(feature = "Win32_Foundation")]
5735 impl ::core::marker::Copy for CRYPT_ENROLLMENT_NAME_VALUE_PAIR {}
5736 #[cfg(feature = "Win32_Foundation")]
5737 impl ::core::clone::Clone for CRYPT_ENROLLMENT_NAME_VALUE_PAIR {
clone(&self) -> Self5738     fn clone(&self) -> Self {
5739         *self
5740     }
5741 }
5742 pub const CRYPT_EXPORT: u32 = 4u32;
5743 pub const CRYPT_EXPORT_KEY: u32 = 64u32;
5744 pub const CRYPT_EXT_OR_ATTR_OID_GROUP_ID: u32 = 6u32;
5745 pub const CRYPT_FAILED: u32 = 0u32;
5746 pub const CRYPT_FASTSGC: u32 = 2u32;
5747 pub type CRYPT_FIND_FLAGS = u32;
5748 pub const CRYPT_FIND_USER_KEYSET_FLAG: CRYPT_FIND_FLAGS = 1u32;
5749 pub const CRYPT_FIND_MACHINE_KEYSET_FLAG: CRYPT_FIND_FLAGS = 2u32;
5750 pub const CRYPT_FIND_SILENT_KEYSET_FLAG: CRYPT_FIND_FLAGS = 64u32;
5751 pub const CRYPT_FIRST: u32 = 1u32;
5752 pub const CRYPT_FIRST_ALG_OID_GROUP_ID: u32 = 1u32;
5753 pub const CRYPT_FLAG_IPSEC: u32 = 16u32;
5754 pub const CRYPT_FLAG_PCT1: u32 = 1u32;
5755 pub const CRYPT_FLAG_SIGNING: u32 = 32u32;
5756 pub const CRYPT_FLAG_SSL2: u32 = 2u32;
5757 pub const CRYPT_FLAG_SSL3: u32 = 4u32;
5758 pub const CRYPT_FLAG_TLS1: u32 = 8u32;
5759 pub const CRYPT_FORMAT_COMMA: u32 = 4096u32;
5760 pub const CRYPT_FORMAT_CRLF: u32 = 512u32;
5761 pub const CRYPT_FORMAT_OID: u32 = 4u32;
5762 pub const CRYPT_FORMAT_RDN_CRLF: u32 = 512u32;
5763 pub const CRYPT_FORMAT_RDN_REVERSE: u32 = 2048u32;
5764 pub const CRYPT_FORMAT_RDN_SEMICOLON: u32 = 256u32;
5765 pub const CRYPT_FORMAT_RDN_UNQUOTE: u32 = 1024u32;
5766 pub const CRYPT_FORMAT_SEMICOLON: u32 = 256u32;
5767 pub const CRYPT_FORMAT_SIMPLE: u32 = 1u32;
5768 pub const CRYPT_FORMAT_STR_MULTI_LINE: u32 = 1u32;
5769 pub const CRYPT_FORMAT_STR_NO_HEX: u32 = 16u32;
5770 pub const CRYPT_FORMAT_X509: u32 = 2u32;
5771 pub const CRYPT_GET_INSTALLED_OID_FUNC_FLAG: u32 = 1u32;
5772 #[repr(C)]
5773 #[cfg(feature = "Win32_Foundation")]
5774 pub struct CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO {
5775     pub cbSize: u32,
5776     pub iDeltaCrlIndicator: i32,
5777     pub pftCacheResync: *mut super::super::Foundation::FILETIME,
5778     pub pLastSyncTime: *mut super::super::Foundation::FILETIME,
5779     pub pMaxAgeTime: *mut super::super::Foundation::FILETIME,
5780     pub pChainPara: *mut CERT_REVOCATION_CHAIN_PARA,
5781     pub pDeltaCrlIndicator: *mut CRYPTOAPI_BLOB,
5782 }
5783 #[cfg(feature = "Win32_Foundation")]
5784 impl ::core::marker::Copy for CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO {}
5785 #[cfg(feature = "Win32_Foundation")]
5786 impl ::core::clone::Clone for CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO {
clone(&self) -> Self5787     fn clone(&self) -> Self {
5788         *self
5789     }
5790 }
5791 pub type CRYPT_GET_URL_FLAGS = u32;
5792 pub const CRYPT_GET_URL_FROM_PROPERTY: CRYPT_GET_URL_FLAGS = 1u32;
5793 pub const CRYPT_GET_URL_FROM_EXTENSION: CRYPT_GET_URL_FLAGS = 2u32;
5794 pub const CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE: CRYPT_GET_URL_FLAGS = 4u32;
5795 pub const CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE: CRYPT_GET_URL_FLAGS = 8u32;
5796 pub const CRYPT_HASH_ALG_OID_GROUP_ID: u32 = 1u32;
5797 #[repr(C)]
5798 #[cfg(feature = "Win32_Foundation")]
5799 pub struct CRYPT_HASH_INFO {
5800     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
5801     pub Hash: CRYPTOAPI_BLOB,
5802 }
5803 #[cfg(feature = "Win32_Foundation")]
5804 impl ::core::marker::Copy for CRYPT_HASH_INFO {}
5805 #[cfg(feature = "Win32_Foundation")]
5806 impl ::core::clone::Clone for CRYPT_HASH_INFO {
clone(&self) -> Self5807     fn clone(&self) -> Self {
5808         *self
5809     }
5810 }
5811 #[repr(C)]
5812 #[cfg(feature = "Win32_Foundation")]
5813 pub struct CRYPT_HASH_MESSAGE_PARA {
5814     pub cbSize: u32,
5815     pub dwMsgEncodingType: u32,
5816     pub hCryptProv: usize,
5817     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
5818     pub pvHashAuxInfo: *mut ::core::ffi::c_void,
5819 }
5820 #[cfg(feature = "Win32_Foundation")]
5821 impl ::core::marker::Copy for CRYPT_HASH_MESSAGE_PARA {}
5822 #[cfg(feature = "Win32_Foundation")]
5823 impl ::core::clone::Clone for CRYPT_HASH_MESSAGE_PARA {
clone(&self) -> Self5824     fn clone(&self) -> Self {
5825         *self
5826     }
5827 }
5828 pub const CRYPT_HTTP_POST_RETRIEVAL: u32 = 1048576u32;
5829 #[repr(C)]
5830 #[cfg(feature = "Win32_Foundation")]
5831 pub struct CRYPT_IMAGE_REF {
5832     pub pszImage: super::super::Foundation::PWSTR,
5833     pub dwFlags: CRYPT_IMAGE_REF_FLAGS,
5834 }
5835 #[cfg(feature = "Win32_Foundation")]
5836 impl ::core::marker::Copy for CRYPT_IMAGE_REF {}
5837 #[cfg(feature = "Win32_Foundation")]
5838 impl ::core::clone::Clone for CRYPT_IMAGE_REF {
clone(&self) -> Self5839     fn clone(&self) -> Self {
5840         *self
5841     }
5842 }
5843 pub type CRYPT_IMAGE_REF_FLAGS = u32;
5844 pub const CRYPT_MIN_DEPENDENCIES: CRYPT_IMAGE_REF_FLAGS = 1u32;
5845 pub const CRYPT_PROCESS_ISOLATE: CRYPT_IMAGE_REF_FLAGS = 65536u32;
5846 #[repr(C)]
5847 #[cfg(feature = "Win32_Foundation")]
5848 pub struct CRYPT_IMAGE_REG {
5849     pub pszImage: super::super::Foundation::PWSTR,
5850     pub cInterfaces: u32,
5851     pub rgpInterfaces: *mut *mut CRYPT_INTERFACE_REG,
5852 }
5853 #[cfg(feature = "Win32_Foundation")]
5854 impl ::core::marker::Copy for CRYPT_IMAGE_REG {}
5855 #[cfg(feature = "Win32_Foundation")]
5856 impl ::core::clone::Clone for CRYPT_IMAGE_REG {
clone(&self) -> Self5857     fn clone(&self) -> Self {
5858         *self
5859     }
5860 }
5861 pub const CRYPT_IMPL_HARDWARE: u32 = 1u32;
5862 pub const CRYPT_IMPL_MIXED: u32 = 3u32;
5863 pub const CRYPT_IMPL_REMOVABLE: u32 = 8u32;
5864 pub const CRYPT_IMPL_SOFTWARE: u32 = 2u32;
5865 pub const CRYPT_IMPL_UNKNOWN: u32 = 4u32;
5866 pub const CRYPT_IMPORT_KEY: u32 = 128u32;
5867 pub type CRYPT_IMPORT_PUBLIC_KEY_FLAGS = u32;
5868 pub const CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG: CRYPT_IMPORT_PUBLIC_KEY_FLAGS = 2147483648u32;
5869 pub const CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG: CRYPT_IMPORT_PUBLIC_KEY_FLAGS = 1073741824u32;
5870 pub const CRYPT_INSTALL_OID_FUNC_BEFORE_FLAG: u32 = 1u32;
5871 pub const CRYPT_INSTALL_OID_INFO_BEFORE_FLAG: u32 = 1u32;
5872 #[repr(C)]
5873 #[cfg(feature = "Win32_Foundation")]
5874 pub struct CRYPT_INTERFACE_REG {
5875     pub dwInterface: BCRYPT_INTERFACE,
5876     pub dwFlags: BCRYPT_TABLE,
5877     pub cFunctions: u32,
5878     pub rgpszFunctions: *mut super::super::Foundation::PWSTR,
5879 }
5880 #[cfg(feature = "Win32_Foundation")]
5881 impl ::core::marker::Copy for CRYPT_INTERFACE_REG {}
5882 #[cfg(feature = "Win32_Foundation")]
5883 impl ::core::clone::Clone for CRYPT_INTERFACE_REG {
clone(&self) -> Self5884     fn clone(&self) -> Self {
5885         *self
5886     }
5887 }
5888 pub const CRYPT_KDF_OID_GROUP_ID: u32 = 10u32;
5889 pub const CRYPT_KEEP_TIME_VALID: u32 = 128u32;
5890 pub const CRYPT_KEYID_ALLOC_FLAG: u32 = 32768u32;
5891 pub const CRYPT_KEYID_DELETE_FLAG: u32 = 16u32;
5892 pub const CRYPT_KEYID_MACHINE_FLAG: u32 = 32u32;
5893 pub const CRYPT_KEYID_SET_NEW_FLAG: u32 = 8192u32;
5894 pub type CRYPT_KEY_FLAGS = u32;
5895 pub const CRYPT_EXPORTABLE: CRYPT_KEY_FLAGS = 1u32;
5896 pub const CRYPT_USER_PROTECTED: CRYPT_KEY_FLAGS = 2u32;
5897 pub const CRYPT_ARCHIVABLE: CRYPT_KEY_FLAGS = 16384u32;
5898 pub const CRYPT_CREATE_IV: CRYPT_KEY_FLAGS = 512u32;
5899 pub const CRYPT_CREATE_SALT: CRYPT_KEY_FLAGS = 4u32;
5900 pub const CRYPT_DATA_KEY: CRYPT_KEY_FLAGS = 2048u32;
5901 pub const CRYPT_FORCE_KEY_PROTECTION_HIGH: CRYPT_KEY_FLAGS = 32768u32;
5902 pub const CRYPT_KEK: CRYPT_KEY_FLAGS = 1024u32;
5903 pub const CRYPT_INITIATOR: CRYPT_KEY_FLAGS = 64u32;
5904 pub const CRYPT_NO_SALT: CRYPT_KEY_FLAGS = 16u32;
5905 pub const CRYPT_ONLINE: CRYPT_KEY_FLAGS = 128u32;
5906 pub const CRYPT_PREGEN: CRYPT_KEY_FLAGS = 64u32;
5907 pub const CRYPT_RECIPIENT: CRYPT_KEY_FLAGS = 16u32;
5908 pub const CRYPT_SF: CRYPT_KEY_FLAGS = 256u32;
5909 pub const CRYPT_SGCKEY: CRYPT_KEY_FLAGS = 8192u32;
5910 pub const CRYPT_VOLATILE: CRYPT_KEY_FLAGS = 4096u32;
5911 pub const CRYPT_MACHINE_KEYSET: CRYPT_KEY_FLAGS = 32u32;
5912 pub const CRYPT_USER_KEYSET: CRYPT_KEY_FLAGS = 4096u32;
5913 pub const PKCS12_PREFER_CNG_KSP: CRYPT_KEY_FLAGS = 256u32;
5914 pub const PKCS12_ALWAYS_CNG_KSP: CRYPT_KEY_FLAGS = 512u32;
5915 pub const PKCS12_ALLOW_OVERWRITE_KEY: CRYPT_KEY_FLAGS = 16384u32;
5916 pub const PKCS12_NO_PERSIST_KEY: CRYPT_KEY_FLAGS = 32768u32;
5917 pub const PKCS12_INCLUDE_EXTENDED_PROPERTIES: CRYPT_KEY_FLAGS = 16u32;
5918 pub const CRYPT_OAEP: CRYPT_KEY_FLAGS = 64u32;
5919 pub const CRYPT_BLOB_VER3: CRYPT_KEY_FLAGS = 128u32;
5920 pub const CRYPT_DESTROYKEY: CRYPT_KEY_FLAGS = 4u32;
5921 pub const CRYPT_SSL2_FALLBACK: CRYPT_KEY_FLAGS = 2u32;
5922 pub const CRYPT_Y_ONLY: CRYPT_KEY_FLAGS = 1u32;
5923 pub const CRYPT_IPSEC_HMAC_KEY: CRYPT_KEY_FLAGS = 256u32;
5924 pub const CERT_SET_KEY_PROV_HANDLE_PROP_ID: CRYPT_KEY_FLAGS = 1u32;
5925 pub const CERT_SET_KEY_CONTEXT_PROP_ID: CRYPT_KEY_FLAGS = 1u32;
5926 pub type CRYPT_KEY_PARAM_ID = u32;
5927 pub const KP_ALGID: CRYPT_KEY_PARAM_ID = 7u32;
5928 pub const KP_CERTIFICATE: CRYPT_KEY_PARAM_ID = 26u32;
5929 pub const KP_PERMISSIONS: CRYPT_KEY_PARAM_ID = 6u32;
5930 pub const KP_SALT: CRYPT_KEY_PARAM_ID = 2u32;
5931 pub const KP_SALT_EX: CRYPT_KEY_PARAM_ID = 10u32;
5932 pub const KP_BLOCKLEN: CRYPT_KEY_PARAM_ID = 8u32;
5933 pub const KP_GET_USE_COUNT: CRYPT_KEY_PARAM_ID = 42u32;
5934 pub const KP_KEYLEN: CRYPT_KEY_PARAM_ID = 9u32;
5935 #[repr(C)]
5936 #[cfg(feature = "Win32_Foundation")]
5937 pub struct CRYPT_KEY_PROV_INFO {
5938     pub pwszContainerName: super::super::Foundation::PWSTR,
5939     pub pwszProvName: super::super::Foundation::PWSTR,
5940     pub dwProvType: u32,
5941     pub dwFlags: CRYPT_KEY_FLAGS,
5942     pub cProvParam: u32,
5943     pub rgProvParam: *mut CRYPT_KEY_PROV_PARAM,
5944     pub dwKeySpec: u32,
5945 }
5946 #[cfg(feature = "Win32_Foundation")]
5947 impl ::core::marker::Copy for CRYPT_KEY_PROV_INFO {}
5948 #[cfg(feature = "Win32_Foundation")]
5949 impl ::core::clone::Clone for CRYPT_KEY_PROV_INFO {
clone(&self) -> Self5950     fn clone(&self) -> Self {
5951         *self
5952     }
5953 }
5954 #[repr(C)]
5955 pub struct CRYPT_KEY_PROV_PARAM {
5956     pub dwParam: u32,
5957     pub pbData: *mut u8,
5958     pub cbData: u32,
5959     pub dwFlags: u32,
5960 }
5961 impl ::core::marker::Copy for CRYPT_KEY_PROV_PARAM {}
5962 impl ::core::clone::Clone for CRYPT_KEY_PROV_PARAM {
clone(&self) -> Self5963     fn clone(&self) -> Self {
5964         *self
5965     }
5966 }
5967 #[repr(C)]
5968 #[cfg(feature = "Win32_Foundation")]
5969 pub struct CRYPT_KEY_SIGN_MESSAGE_PARA {
5970     pub cbSize: u32,
5971     pub dwMsgAndCertEncodingType: CERT_QUERY_ENCODING_TYPE,
5972     pub Anonymous: CRYPT_KEY_SIGN_MESSAGE_PARA_0,
5973     pub dwKeySpec: CERT_KEY_SPEC,
5974     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
5975     pub pvHashAuxInfo: *mut ::core::ffi::c_void,
5976     pub PubKeyAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
5977 }
5978 #[cfg(feature = "Win32_Foundation")]
5979 impl ::core::marker::Copy for CRYPT_KEY_SIGN_MESSAGE_PARA {}
5980 #[cfg(feature = "Win32_Foundation")]
5981 impl ::core::clone::Clone for CRYPT_KEY_SIGN_MESSAGE_PARA {
clone(&self) -> Self5982     fn clone(&self) -> Self {
5983         *self
5984     }
5985 }
5986 #[repr(C)]
5987 #[cfg(feature = "Win32_Foundation")]
5988 pub union CRYPT_KEY_SIGN_MESSAGE_PARA_0 {
5989     pub hCryptProv: usize,
5990     pub hNCryptKey: usize,
5991 }
5992 #[cfg(feature = "Win32_Foundation")]
5993 impl ::core::marker::Copy for CRYPT_KEY_SIGN_MESSAGE_PARA_0 {}
5994 #[cfg(feature = "Win32_Foundation")]
5995 impl ::core::clone::Clone for CRYPT_KEY_SIGN_MESSAGE_PARA_0 {
clone(&self) -> Self5996     fn clone(&self) -> Self {
5997         *self
5998     }
5999 }
6000 #[repr(C)]
6001 pub struct CRYPT_KEY_VERIFY_MESSAGE_PARA {
6002     pub cbSize: u32,
6003     pub dwMsgEncodingType: u32,
6004     pub hCryptProv: usize,
6005 }
6006 impl ::core::marker::Copy for CRYPT_KEY_VERIFY_MESSAGE_PARA {}
6007 impl ::core::clone::Clone for CRYPT_KEY_VERIFY_MESSAGE_PARA {
clone(&self) -> Self6008     fn clone(&self) -> Self {
6009         *self
6010     }
6011 }
6012 pub const CRYPT_LAST_ALG_OID_GROUP_ID: u32 = 4u32;
6013 pub const CRYPT_LAST_OID_GROUP_ID: u32 = 10u32;
6014 pub const CRYPT_LDAP_AREC_EXCLUSIVE_RETRIEVAL: u32 = 262144u32;
6015 pub const CRYPT_LDAP_INSERT_ENTRY_ATTRIBUTE: u32 = 32768u32;
6016 pub const CRYPT_LDAP_SCOPE_BASE_ONLY_RETRIEVAL: u32 = 8192u32;
6017 pub const CRYPT_LDAP_SIGN_RETRIEVAL: u32 = 65536u32;
6018 pub const CRYPT_LITTLE_ENDIAN: u32 = 1u32;
6019 pub const CRYPT_LOCALIZED_NAME_ENCODING_TYPE: u32 = 0u32;
6020 pub const CRYPT_MAC: u32 = 32u32;
6021 pub const CRYPT_MACHINE_DEFAULT: u32 = 1u32;
6022 #[repr(C)]
6023 #[cfg(feature = "Win32_Foundation")]
6024 pub struct CRYPT_MASK_GEN_ALGORITHM {
6025     pub pszObjId: super::super::Foundation::PSTR,
6026     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
6027 }
6028 #[cfg(feature = "Win32_Foundation")]
6029 impl ::core::marker::Copy for CRYPT_MASK_GEN_ALGORITHM {}
6030 #[cfg(feature = "Win32_Foundation")]
6031 impl ::core::clone::Clone for CRYPT_MASK_GEN_ALGORITHM {
clone(&self) -> Self6032     fn clone(&self) -> Self {
6033         *self
6034     }
6035 }
6036 pub const CRYPT_MATCH_ANY_ENCODING_TYPE: u32 = 4294967295u32;
6037 pub const CRYPT_MESSAGE_BARE_CONTENT_OUT_FLAG: u32 = 1u32;
6038 pub const CRYPT_MESSAGE_ENCAPSULATED_CONTENT_OUT_FLAG: u32 = 2u32;
6039 pub const CRYPT_MESSAGE_KEYID_RECIPIENT_FLAG: u32 = 4u32;
6040 pub const CRYPT_MESSAGE_KEYID_SIGNER_FLAG: u32 = 4u32;
6041 pub const CRYPT_MESSAGE_SILENT_KEYSET_FLAG: u32 = 64u32;
6042 pub const CRYPT_MODE_CBC: u32 = 1u32;
6043 pub const CRYPT_MODE_CBCI: u32 = 6u32;
6044 pub const CRYPT_MODE_CBCOFM: u32 = 9u32;
6045 pub const CRYPT_MODE_CBCOFMI: u32 = 10u32;
6046 pub const CRYPT_MODE_CFB: u32 = 4u32;
6047 pub const CRYPT_MODE_CFBP: u32 = 7u32;
6048 pub const CRYPT_MODE_CTS: u32 = 5u32;
6049 pub const CRYPT_MODE_ECB: u32 = 2u32;
6050 pub const CRYPT_MODE_OFB: u32 = 3u32;
6051 pub const CRYPT_MODE_OFBP: u32 = 8u32;
6052 pub type CRYPT_MSG_TYPE = u32;
6053 pub const CMSG_DATA: CRYPT_MSG_TYPE = 1u32;
6054 pub const CMSG_SIGNED: CRYPT_MSG_TYPE = 2u32;
6055 pub const CMSG_ENVELOPED: CRYPT_MSG_TYPE = 3u32;
6056 pub const CMSG_SIGNED_AND_ENVELOPED: CRYPT_MSG_TYPE = 4u32;
6057 pub const CMSG_HASHED: CRYPT_MSG_TYPE = 5u32;
6058 pub const CRYPT_NDR_ENCODING: u32 = 2u32;
6059 pub const CRYPT_NEWKEYSET: u32 = 8u32;
6060 pub const CRYPT_NEXT: u32 = 2u32;
6061 pub const CRYPT_NOHASHOID: u32 = 1u32;
6062 pub const CRYPT_NOT_MODIFIED_RETRIEVAL: u32 = 4194304u32;
6063 pub const CRYPT_NO_AUTH_RETRIEVAL: u32 = 131072u32;
6064 pub const CRYPT_NO_OCSP_FAILOVER_TO_CRL_RETRIEVAL: u32 = 33554432u32;
6065 pub const CRYPT_OBJECT_LOCATOR_FIRST_RESERVED_USER_NAME_TYPE: u32 = 33u32;
6066 pub const CRYPT_OBJECT_LOCATOR_LAST_RESERVED_NAME_TYPE: u32 = 32u32;
6067 pub const CRYPT_OBJECT_LOCATOR_LAST_RESERVED_USER_NAME_TYPE: u32 = 65535u32;
6068 #[repr(C)]
6069 #[cfg(feature = "Win32_Foundation")]
6070 pub struct CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE {
6071     pub cbSize: u32,
6072     pub pfnGet: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET,
6073     pub pfnRelease: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE,
6074     pub pfnFreePassword: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD,
6075     pub pfnFree: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE,
6076     pub pfnFreeIdentifier: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER,
6077 }
6078 #[cfg(feature = "Win32_Foundation")]
6079 impl ::core::marker::Copy for CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE {}
6080 #[cfg(feature = "Win32_Foundation")]
6081 impl ::core::clone::Clone for CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE {
clone(&self) -> Self6082     fn clone(&self) -> Self {
6083         *self
6084     }
6085 }
6086 pub type CRYPT_OBJECT_LOCATOR_RELEASE_REASON = u32;
6087 pub const CRYPT_OBJECT_LOCATOR_RELEASE_SYSTEM_SHUTDOWN: CRYPT_OBJECT_LOCATOR_RELEASE_REASON = 1u32;
6088 pub const CRYPT_OBJECT_LOCATOR_RELEASE_SERVICE_STOP: CRYPT_OBJECT_LOCATOR_RELEASE_REASON = 2u32;
6089 pub const CRYPT_OBJECT_LOCATOR_RELEASE_PROCESS_EXIT: CRYPT_OBJECT_LOCATOR_RELEASE_REASON = 3u32;
6090 pub const CRYPT_OBJECT_LOCATOR_RELEASE_DLL_UNLOAD: CRYPT_OBJECT_LOCATOR_RELEASE_REASON = 4u32;
6091 pub const CRYPT_OBJECT_LOCATOR_SPN_NAME_TYPE: u32 = 1u32;
6092 #[repr(C)]
6093 #[cfg(feature = "Win32_Foundation")]
6094 pub struct CRYPT_OBJID_TABLE {
6095     pub dwAlgId: u32,
6096     pub pszObjId: super::super::Foundation::PSTR,
6097 }
6098 #[cfg(feature = "Win32_Foundation")]
6099 impl ::core::marker::Copy for CRYPT_OBJID_TABLE {}
6100 #[cfg(feature = "Win32_Foundation")]
6101 impl ::core::clone::Clone for CRYPT_OBJID_TABLE {
clone(&self) -> Self6102     fn clone(&self) -> Self {
6103         *self
6104     }
6105 }
6106 pub const CRYPT_OCSP_ONLY_RETRIEVAL: u32 = 16777216u32;
6107 pub const CRYPT_OFFLINE_CHECK_RETRIEVAL: u32 = 16384u32;
6108 pub const CRYPT_OID_DISABLE_SEARCH_DS_FLAG: u32 = 2147483648u32;
6109 #[repr(C)]
6110 #[cfg(feature = "Win32_Foundation")]
6111 pub struct CRYPT_OID_FUNC_ENTRY {
6112     pub pszOID: super::super::Foundation::PSTR,
6113     pub pvFuncAddr: *mut ::core::ffi::c_void,
6114 }
6115 #[cfg(feature = "Win32_Foundation")]
6116 impl ::core::marker::Copy for CRYPT_OID_FUNC_ENTRY {}
6117 #[cfg(feature = "Win32_Foundation")]
6118 impl ::core::clone::Clone for CRYPT_OID_FUNC_ENTRY {
clone(&self) -> Self6119     fn clone(&self) -> Self {
6120         *self
6121     }
6122 }
6123 #[repr(C)]
6124 #[cfg(feature = "Win32_Foundation")]
6125 pub struct CRYPT_OID_INFO {
6126     pub cbSize: u32,
6127     pub pszOID: super::super::Foundation::PSTR,
6128     pub pwszName: super::super::Foundation::PWSTR,
6129     pub dwGroupId: u32,
6130     pub Anonymous: CRYPT_OID_INFO_0,
6131     pub ExtraInfo: CRYPTOAPI_BLOB,
6132 }
6133 #[cfg(feature = "Win32_Foundation")]
6134 impl ::core::marker::Copy for CRYPT_OID_INFO {}
6135 #[cfg(feature = "Win32_Foundation")]
6136 impl ::core::clone::Clone for CRYPT_OID_INFO {
clone(&self) -> Self6137     fn clone(&self) -> Self {
6138         *self
6139     }
6140 }
6141 #[repr(C)]
6142 #[cfg(feature = "Win32_Foundation")]
6143 pub union CRYPT_OID_INFO_0 {
6144     pub dwValue: u32,
6145     pub Algid: u32,
6146     pub dwLength: u32,
6147 }
6148 #[cfg(feature = "Win32_Foundation")]
6149 impl ::core::marker::Copy for CRYPT_OID_INFO_0 {}
6150 #[cfg(feature = "Win32_Foundation")]
6151 impl ::core::clone::Clone for CRYPT_OID_INFO_0 {
clone(&self) -> Self6152     fn clone(&self) -> Self {
6153         *self
6154     }
6155 }
6156 pub const CRYPT_OID_INFO_ALGID_KEY: u32 = 3u32;
6157 pub const CRYPT_OID_INFO_CNG_ALGID_KEY: u32 = 5u32;
6158 pub const CRYPT_OID_INFO_CNG_SIGN_KEY: u32 = 6u32;
6159 pub const CRYPT_OID_INFO_NAME_KEY: u32 = 2u32;
6160 pub const CRYPT_OID_INFO_OID_GROUP_BIT_LEN_MASK: u32 = 268369920u32;
6161 pub const CRYPT_OID_INFO_OID_GROUP_BIT_LEN_SHIFT: u32 = 16u32;
6162 pub const CRYPT_OID_INFO_OID_KEY: u32 = 1u32;
6163 pub const CRYPT_OID_INFO_OID_KEY_FLAGS_MASK: u32 = 4294901760u32;
6164 pub const CRYPT_OID_INFO_SIGN_KEY: u32 = 4u32;
6165 pub const CRYPT_OID_INHIBIT_SIGNATURE_FORMAT_FLAG: u32 = 1u32;
6166 pub const CRYPT_OID_NO_NULL_ALGORITHM_PARA_FLAG: u32 = 4u32;
6167 pub const CRYPT_OID_PREFER_CNG_ALGID_FLAG: u32 = 1073741824u32;
6168 pub const CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG: u32 = 1073741824u32;
6169 pub const CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG: u32 = 2147483648u32;
6170 pub const CRYPT_OID_USE_CURVE_NAME_FOR_ENCODE_FLAG: u32 = 536870912u32;
6171 pub const CRYPT_OID_USE_CURVE_PARAMETERS_FOR_ENCODE_FLAG: u32 = 268435456u32;
6172 pub const CRYPT_OID_USE_PUBKEY_PARA_FOR_PKCS7_FLAG: u32 = 2u32;
6173 pub const CRYPT_OVERWRITE: u32 = 1u32;
6174 pub const CRYPT_OWF_REPL_LM_HASH: u32 = 1u32;
6175 #[repr(C)]
6176 #[cfg(feature = "Win32_Foundation")]
6177 pub struct CRYPT_PASSWORD_CREDENTIALSA {
6178     pub cbSize: u32,
6179     pub pszUsername: super::super::Foundation::PSTR,
6180     pub pszPassword: super::super::Foundation::PSTR,
6181 }
6182 #[cfg(feature = "Win32_Foundation")]
6183 impl ::core::marker::Copy for CRYPT_PASSWORD_CREDENTIALSA {}
6184 #[cfg(feature = "Win32_Foundation")]
6185 impl ::core::clone::Clone for CRYPT_PASSWORD_CREDENTIALSA {
clone(&self) -> Self6186     fn clone(&self) -> Self {
6187         *self
6188     }
6189 }
6190 #[repr(C)]
6191 #[cfg(feature = "Win32_Foundation")]
6192 pub struct CRYPT_PASSWORD_CREDENTIALSW {
6193     pub cbSize: u32,
6194     pub pszUsername: super::super::Foundation::PWSTR,
6195     pub pszPassword: super::super::Foundation::PWSTR,
6196 }
6197 #[cfg(feature = "Win32_Foundation")]
6198 impl ::core::marker::Copy for CRYPT_PASSWORD_CREDENTIALSW {}
6199 #[cfg(feature = "Win32_Foundation")]
6200 impl ::core::clone::Clone for CRYPT_PASSWORD_CREDENTIALSW {
clone(&self) -> Self6201     fn clone(&self) -> Self {
6202         *self
6203     }
6204 }
6205 #[repr(C)]
6206 pub struct CRYPT_PKCS12_PBE_PARAMS {
6207     pub iIterations: i32,
6208     pub cbSalt: u32,
6209 }
6210 impl ::core::marker::Copy for CRYPT_PKCS12_PBE_PARAMS {}
6211 impl ::core::clone::Clone for CRYPT_PKCS12_PBE_PARAMS {
clone(&self) -> Self6212     fn clone(&self) -> Self {
6213         *self
6214     }
6215 }
6216 #[repr(C)]
6217 #[cfg(feature = "Win32_Foundation")]
6218 pub struct CRYPT_PKCS8_EXPORT_PARAMS {
6219     pub hCryptProv: usize,
6220     pub dwKeySpec: u32,
6221     pub pszPrivateKeyObjId: super::super::Foundation::PSTR,
6222     pub pEncryptPrivateKeyFunc: PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC,
6223     pub pVoidEncryptFunc: *mut ::core::ffi::c_void,
6224 }
6225 #[cfg(feature = "Win32_Foundation")]
6226 impl ::core::marker::Copy for CRYPT_PKCS8_EXPORT_PARAMS {}
6227 #[cfg(feature = "Win32_Foundation")]
6228 impl ::core::clone::Clone for CRYPT_PKCS8_EXPORT_PARAMS {
clone(&self) -> Self6229     fn clone(&self) -> Self {
6230         *self
6231     }
6232 }
6233 #[repr(C)]
6234 #[cfg(feature = "Win32_Foundation")]
6235 pub struct CRYPT_PKCS8_IMPORT_PARAMS {
6236     pub PrivateKey: CRYPTOAPI_BLOB,
6237     pub pResolvehCryptProvFunc: PCRYPT_RESOLVE_HCRYPTPROV_FUNC,
6238     pub pVoidResolveFunc: *mut ::core::ffi::c_void,
6239     pub pDecryptPrivateKeyFunc: PCRYPT_DECRYPT_PRIVATE_KEY_FUNC,
6240     pub pVoidDecryptFunc: *mut ::core::ffi::c_void,
6241 }
6242 #[cfg(feature = "Win32_Foundation")]
6243 impl ::core::marker::Copy for CRYPT_PKCS8_IMPORT_PARAMS {}
6244 #[cfg(feature = "Win32_Foundation")]
6245 impl ::core::clone::Clone for CRYPT_PKCS8_IMPORT_PARAMS {
clone(&self) -> Self6246     fn clone(&self) -> Self {
6247         *self
6248     }
6249 }
6250 pub const CRYPT_POLICY_OID_GROUP_ID: u32 = 8u32;
6251 pub const CRYPT_PRIORITY_BOTTOM: u32 = 4294967295u32;
6252 pub const CRYPT_PRIORITY_TOP: u32 = 0u32;
6253 #[repr(C)]
6254 #[cfg(feature = "Win32_Foundation")]
6255 pub struct CRYPT_PRIVATE_KEY_INFO {
6256     pub Version: u32,
6257     pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER,
6258     pub PrivateKey: CRYPTOAPI_BLOB,
6259     pub pAttributes: *mut CRYPT_ATTRIBUTES,
6260 }
6261 #[cfg(feature = "Win32_Foundation")]
6262 impl ::core::marker::Copy for CRYPT_PRIVATE_KEY_INFO {}
6263 #[cfg(feature = "Win32_Foundation")]
6264 impl ::core::clone::Clone for CRYPT_PRIVATE_KEY_INFO {
clone(&self) -> Self6265     fn clone(&self) -> Self {
6266         *self
6267     }
6268 }
6269 #[repr(C)]
6270 #[cfg(feature = "Win32_Foundation")]
6271 pub struct CRYPT_PROPERTY_REF {
6272     pub pszProperty: super::super::Foundation::PWSTR,
6273     pub cbValue: u32,
6274     pub pbValue: *mut u8,
6275 }
6276 #[cfg(feature = "Win32_Foundation")]
6277 impl ::core::marker::Copy for CRYPT_PROPERTY_REF {}
6278 #[cfg(feature = "Win32_Foundation")]
6279 impl ::core::clone::Clone for CRYPT_PROPERTY_REF {
clone(&self) -> Self6280     fn clone(&self) -> Self {
6281         *self
6282     }
6283 }
6284 #[repr(C)]
6285 #[cfg(feature = "Win32_Foundation")]
6286 pub struct CRYPT_PROVIDERS {
6287     pub cProviders: u32,
6288     pub rgpszProviders: *mut super::super::Foundation::PWSTR,
6289 }
6290 #[cfg(feature = "Win32_Foundation")]
6291 impl ::core::marker::Copy for CRYPT_PROVIDERS {}
6292 #[cfg(feature = "Win32_Foundation")]
6293 impl ::core::clone::Clone for CRYPT_PROVIDERS {
clone(&self) -> Self6294     fn clone(&self) -> Self {
6295         *self
6296     }
6297 }
6298 #[repr(C)]
6299 #[cfg(feature = "Win32_Foundation")]
6300 pub struct CRYPT_PROVIDER_REF {
6301     pub dwInterface: u32,
6302     pub pszFunction: super::super::Foundation::PWSTR,
6303     pub pszProvider: super::super::Foundation::PWSTR,
6304     pub cProperties: u32,
6305     pub rgpProperties: *mut *mut CRYPT_PROPERTY_REF,
6306     pub pUM: *mut CRYPT_IMAGE_REF,
6307     pub pKM: *mut CRYPT_IMAGE_REF,
6308 }
6309 #[cfg(feature = "Win32_Foundation")]
6310 impl ::core::marker::Copy for CRYPT_PROVIDER_REF {}
6311 #[cfg(feature = "Win32_Foundation")]
6312 impl ::core::clone::Clone for CRYPT_PROVIDER_REF {
clone(&self) -> Self6313     fn clone(&self) -> Self {
6314         *self
6315     }
6316 }
6317 #[repr(C)]
6318 #[cfg(feature = "Win32_Foundation")]
6319 pub struct CRYPT_PROVIDER_REFS {
6320     pub cProviders: u32,
6321     pub rgpProviders: *mut *mut CRYPT_PROVIDER_REF,
6322 }
6323 #[cfg(feature = "Win32_Foundation")]
6324 impl ::core::marker::Copy for CRYPT_PROVIDER_REFS {}
6325 #[cfg(feature = "Win32_Foundation")]
6326 impl ::core::clone::Clone for CRYPT_PROVIDER_REFS {
clone(&self) -> Self6327     fn clone(&self) -> Self {
6328         *self
6329     }
6330 }
6331 #[repr(C)]
6332 #[cfg(feature = "Win32_Foundation")]
6333 pub struct CRYPT_PROVIDER_REG {
6334     pub cAliases: u32,
6335     pub rgpszAliases: *mut super::super::Foundation::PWSTR,
6336     pub pUM: *mut CRYPT_IMAGE_REG,
6337     pub pKM: *mut CRYPT_IMAGE_REG,
6338 }
6339 #[cfg(feature = "Win32_Foundation")]
6340 impl ::core::marker::Copy for CRYPT_PROVIDER_REG {}
6341 #[cfg(feature = "Win32_Foundation")]
6342 impl ::core::clone::Clone for CRYPT_PROVIDER_REG {
clone(&self) -> Self6343     fn clone(&self) -> Self {
6344         *self
6345     }
6346 }
6347 pub const CRYPT_PROXY_CACHE_RETRIEVAL: u32 = 2097152u32;
6348 #[repr(C)]
6349 #[cfg(feature = "Win32_Foundation")]
6350 pub struct CRYPT_PSOURCE_ALGORITHM {
6351     pub pszObjId: super::super::Foundation::PSTR,
6352     pub EncodingParameters: CRYPTOAPI_BLOB,
6353 }
6354 #[cfg(feature = "Win32_Foundation")]
6355 impl ::core::marker::Copy for CRYPT_PSOURCE_ALGORITHM {}
6356 #[cfg(feature = "Win32_Foundation")]
6357 impl ::core::clone::Clone for CRYPT_PSOURCE_ALGORITHM {
clone(&self) -> Self6358     fn clone(&self) -> Self {
6359         *self
6360     }
6361 }
6362 pub const CRYPT_PSTORE: u32 = 2u32;
6363 pub const CRYPT_PUBKEY_ALG_OID_GROUP_ID: u32 = 3u32;
6364 pub const CRYPT_RANDOM_QUERY_STRING_RETRIEVAL: u32 = 67108864u32;
6365 pub const CRYPT_RC2_128BIT_VERSION: u32 = 58u32;
6366 pub const CRYPT_RC2_40BIT_VERSION: u32 = 160u32;
6367 pub const CRYPT_RC2_56BIT_VERSION: u32 = 52u32;
6368 pub const CRYPT_RC2_64BIT_VERSION: u32 = 120u32;
6369 #[repr(C)]
6370 #[cfg(feature = "Win32_Foundation")]
6371 pub struct CRYPT_RC2_CBC_PARAMETERS {
6372     pub dwVersion: u32,
6373     pub fIV: super::super::Foundation::BOOL,
6374     pub rgbIV: [u8; 8],
6375 }
6376 #[cfg(feature = "Win32_Foundation")]
6377 impl ::core::marker::Copy for CRYPT_RC2_CBC_PARAMETERS {}
6378 #[cfg(feature = "Win32_Foundation")]
6379 impl ::core::clone::Clone for CRYPT_RC2_CBC_PARAMETERS {
clone(&self) -> Self6380     fn clone(&self) -> Self {
6381         *self
6382     }
6383 }
6384 #[repr(C)]
6385 pub struct CRYPT_RC4_KEY_STATE {
6386     pub Key: [u8; 16],
6387     pub SBox: [u8; 256],
6388     pub i: u8,
6389     pub j: u8,
6390 }
6391 impl ::core::marker::Copy for CRYPT_RC4_KEY_STATE {}
6392 impl ::core::clone::Clone for CRYPT_RC4_KEY_STATE {
clone(&self) -> Self6393     fn clone(&self) -> Self {
6394         *self
6395     }
6396 }
6397 pub const CRYPT_RDN_ATTR_OID_GROUP_ID: u32 = 5u32;
6398 pub const CRYPT_READ: u32 = 8u32;
6399 pub const CRYPT_REGISTER_FIRST_INDEX: u32 = 0u32;
6400 pub const CRYPT_REGISTER_LAST_INDEX: u32 = 4294967295u32;
6401 #[repr(C)]
6402 #[cfg(feature = "Win32_Foundation")]
6403 pub struct CRYPT_RETRIEVE_AUX_INFO {
6404     pub cbSize: u32,
6405     pub pLastSyncTime: *mut super::super::Foundation::FILETIME,
6406     pub dwMaxUrlRetrievalByteCount: u32,
6407     pub pPreFetchInfo: *mut CRYPTNET_URL_CACHE_PRE_FETCH_INFO,
6408     pub pFlushInfo: *mut CRYPTNET_URL_CACHE_FLUSH_INFO,
6409     pub ppResponseInfo: *mut *mut CRYPTNET_URL_CACHE_RESPONSE_INFO,
6410     pub pwszCacheFileNamePrefix: super::super::Foundation::PWSTR,
6411     pub pftCacheResync: *mut super::super::Foundation::FILETIME,
6412     pub fProxyCacheRetrieval: super::super::Foundation::BOOL,
6413     pub dwHttpStatusCode: u32,
6414     pub ppwszErrorResponseHeaders: *mut super::super::Foundation::PWSTR,
6415     pub ppErrorContentBlob: *mut *mut CRYPTOAPI_BLOB,
6416 }
6417 #[cfg(feature = "Win32_Foundation")]
6418 impl ::core::marker::Copy for CRYPT_RETRIEVE_AUX_INFO {}
6419 #[cfg(feature = "Win32_Foundation")]
6420 impl ::core::clone::Clone for CRYPT_RETRIEVE_AUX_INFO {
clone(&self) -> Self6421     fn clone(&self) -> Self {
6422         *self
6423     }
6424 }
6425 pub const CRYPT_RETRIEVE_MAX_ERROR_CONTENT_LENGTH: u32 = 4096u32;
6426 pub const CRYPT_RETRIEVE_MULTIPLE_OBJECTS: u32 = 1u32;
6427 #[repr(C)]
6428 #[cfg(feature = "Win32_Foundation")]
6429 pub struct CRYPT_RSAES_OAEP_PARAMETERS {
6430     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
6431     pub MaskGenAlgorithm: CRYPT_MASK_GEN_ALGORITHM,
6432     pub PSourceAlgorithm: CRYPT_PSOURCE_ALGORITHM,
6433 }
6434 #[cfg(feature = "Win32_Foundation")]
6435 impl ::core::marker::Copy for CRYPT_RSAES_OAEP_PARAMETERS {}
6436 #[cfg(feature = "Win32_Foundation")]
6437 impl ::core::clone::Clone for CRYPT_RSAES_OAEP_PARAMETERS {
clone(&self) -> Self6438     fn clone(&self) -> Self {
6439         *self
6440     }
6441 }
6442 #[repr(C)]
6443 #[cfg(feature = "Win32_Foundation")]
6444 pub struct CRYPT_RSA_SSA_PSS_PARAMETERS {
6445     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
6446     pub MaskGenAlgorithm: CRYPT_MASK_GEN_ALGORITHM,
6447     pub dwSaltLength: u32,
6448     pub dwTrailerField: u32,
6449 }
6450 #[cfg(feature = "Win32_Foundation")]
6451 impl ::core::marker::Copy for CRYPT_RSA_SSA_PSS_PARAMETERS {}
6452 #[cfg(feature = "Win32_Foundation")]
6453 impl ::core::clone::Clone for CRYPT_RSA_SSA_PSS_PARAMETERS {
clone(&self) -> Self6454     fn clone(&self) -> Self {
6455         *self
6456     }
6457 }
6458 pub const CRYPT_SECRETDIGEST: u32 = 1u32;
6459 pub const CRYPT_SEC_DESCR: u32 = 1u32;
6460 #[repr(C)]
6461 pub struct CRYPT_SEQUENCE_OF_ANY {
6462     pub cValue: u32,
6463     pub rgValue: *mut CRYPTOAPI_BLOB,
6464 }
6465 impl ::core::marker::Copy for CRYPT_SEQUENCE_OF_ANY {}
6466 impl ::core::clone::Clone for CRYPT_SEQUENCE_OF_ANY {
clone(&self) -> Self6467     fn clone(&self) -> Self {
6468         *self
6469     }
6470 }
6471 pub const CRYPT_SERVER: u32 = 1024u32;
6472 pub type CRYPT_SET_HASH_PARAM = u32;
6473 pub const HP_HMAC_INFO: CRYPT_SET_HASH_PARAM = 5u32;
6474 pub const HP_HASHVAL: CRYPT_SET_HASH_PARAM = 2u32;
6475 pub type CRYPT_SET_PROV_PARAM_ID = u32;
6476 pub const PP_CLIENT_HWND: CRYPT_SET_PROV_PARAM_ID = 1u32;
6477 pub const PP_DELETEKEY: CRYPT_SET_PROV_PARAM_ID = 24u32;
6478 pub const PP_KEYEXCHANGE_ALG: CRYPT_SET_PROV_PARAM_ID = 14u32;
6479 pub const PP_KEYEXCHANGE_PIN: CRYPT_SET_PROV_PARAM_ID = 32u32;
6480 pub const PP_KEYEXCHANGE_KEYSIZE: CRYPT_SET_PROV_PARAM_ID = 12u32;
6481 pub const PP_KEYSET_SEC_DESCR: CRYPT_SET_PROV_PARAM_ID = 8u32;
6482 pub const PP_PIN_PROMPT_STRING: CRYPT_SET_PROV_PARAM_ID = 44u32;
6483 pub const PP_ROOT_CERTSTORE: CRYPT_SET_PROV_PARAM_ID = 46u32;
6484 pub const PP_SIGNATURE_ALG: CRYPT_SET_PROV_PARAM_ID = 15u32;
6485 pub const PP_SIGNATURE_PIN: CRYPT_SET_PROV_PARAM_ID = 33u32;
6486 pub const PP_SIGNATURE_KEYSIZE: CRYPT_SET_PROV_PARAM_ID = 13u32;
6487 pub const PP_UI_PROMPT: CRYPT_SET_PROV_PARAM_ID = 21u32;
6488 pub const PP_USE_HARDWARE_RNG: CRYPT_SET_PROV_PARAM_ID = 38u32;
6489 pub const PP_USER_CERTSTORE: CRYPT_SET_PROV_PARAM_ID = 42u32;
6490 pub const PP_SECURE_KEYEXCHANGE_PIN: CRYPT_SET_PROV_PARAM_ID = 47u32;
6491 pub const PP_SECURE_SIGNATURE_PIN: CRYPT_SET_PROV_PARAM_ID = 48u32;
6492 pub const PP_SMARTCARD_READER: CRYPT_SET_PROV_PARAM_ID = 43u32;
6493 pub const CRYPT_SGC: u32 = 1u32;
6494 pub const CRYPT_SGC_ENUM: u32 = 4u32;
6495 pub const CRYPT_SIGN_ALG_OID_GROUP_ID: u32 = 4u32;
6496 #[repr(C)]
6497 #[cfg(feature = "Win32_Foundation")]
6498 pub struct CRYPT_SIGN_MESSAGE_PARA {
6499     pub cbSize: u32,
6500     pub dwMsgEncodingType: u32,
6501     pub pSigningCert: *mut CERT_CONTEXT,
6502     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
6503     pub pvHashAuxInfo: *mut ::core::ffi::c_void,
6504     pub cMsgCert: u32,
6505     pub rgpMsgCert: *mut *mut CERT_CONTEXT,
6506     pub cMsgCrl: u32,
6507     pub rgpMsgCrl: *mut *mut CRL_CONTEXT,
6508     pub cAuthAttr: u32,
6509     pub rgAuthAttr: *mut CRYPT_ATTRIBUTE,
6510     pub cUnauthAttr: u32,
6511     pub rgUnauthAttr: *mut CRYPT_ATTRIBUTE,
6512     pub dwFlags: u32,
6513     pub dwInnerContentType: u32,
6514 }
6515 #[cfg(feature = "Win32_Foundation")]
6516 impl ::core::marker::Copy for CRYPT_SIGN_MESSAGE_PARA {}
6517 #[cfg(feature = "Win32_Foundation")]
6518 impl ::core::clone::Clone for CRYPT_SIGN_MESSAGE_PARA {
clone(&self) -> Self6519     fn clone(&self) -> Self {
6520         *self
6521     }
6522 }
6523 pub const CRYPT_SILENT: u32 = 64u32;
6524 #[repr(C)]
6525 pub struct CRYPT_SMART_CARD_ROOT_INFO {
6526     pub rgbCardID: [u8; 16],
6527     pub luid: ROOT_INFO_LUID,
6528 }
6529 impl ::core::marker::Copy for CRYPT_SMART_CARD_ROOT_INFO {}
6530 impl ::core::clone::Clone for CRYPT_SMART_CARD_ROOT_INFO {
clone(&self) -> Self6531     fn clone(&self) -> Self {
6532         *self
6533     }
6534 }
6535 #[repr(C)]
6536 #[cfg(feature = "Win32_Foundation")]
6537 pub struct CRYPT_SMIME_CAPABILITIES {
6538     pub cCapability: u32,
6539     pub rgCapability: *mut CRYPT_SMIME_CAPABILITY,
6540 }
6541 #[cfg(feature = "Win32_Foundation")]
6542 impl ::core::marker::Copy for CRYPT_SMIME_CAPABILITIES {}
6543 #[cfg(feature = "Win32_Foundation")]
6544 impl ::core::clone::Clone for CRYPT_SMIME_CAPABILITIES {
clone(&self) -> Self6545     fn clone(&self) -> Self {
6546         *self
6547     }
6548 }
6549 #[repr(C)]
6550 #[cfg(feature = "Win32_Foundation")]
6551 pub struct CRYPT_SMIME_CAPABILITY {
6552     pub pszObjId: super::super::Foundation::PSTR,
6553     pub Parameters: CRYPTOAPI_BLOB,
6554 }
6555 #[cfg(feature = "Win32_Foundation")]
6556 impl ::core::marker::Copy for CRYPT_SMIME_CAPABILITY {}
6557 #[cfg(feature = "Win32_Foundation")]
6558 impl ::core::clone::Clone for CRYPT_SMIME_CAPABILITY {
clone(&self) -> Self6559     fn clone(&self) -> Self {
6560         *self
6561     }
6562 }
6563 pub const CRYPT_SORTED_CTL_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: u32 = 65536u32;
6564 pub const CRYPT_STICKY_CACHE_RETRIEVAL: u32 = 4096u32;
6565 pub type CRYPT_STRING = u32;
6566 pub const CRYPT_STRING_BASE64HEADER: CRYPT_STRING = 0u32;
6567 pub const CRYPT_STRING_BASE64: CRYPT_STRING = 1u32;
6568 pub const CRYPT_STRING_BINARY: CRYPT_STRING = 2u32;
6569 pub const CRYPT_STRING_BASE64REQUESTHEADER: CRYPT_STRING = 3u32;
6570 pub const CRYPT_STRING_HEX: CRYPT_STRING = 4u32;
6571 pub const CRYPT_STRING_HEXASCII: CRYPT_STRING = 5u32;
6572 pub const CRYPT_STRING_BASE64X509CRLHEADER: CRYPT_STRING = 9u32;
6573 pub const CRYPT_STRING_HEXADDR: CRYPT_STRING = 10u32;
6574 pub const CRYPT_STRING_HEXASCIIADDR: CRYPT_STRING = 11u32;
6575 pub const CRYPT_STRING_HEXRAW: CRYPT_STRING = 12u32;
6576 pub const CRYPT_STRING_STRICT: CRYPT_STRING = 536870912u32;
6577 pub const CRYPT_STRING_BASE64_ANY: CRYPT_STRING = 6u32;
6578 pub const CRYPT_STRING_ANY: CRYPT_STRING = 7u32;
6579 pub const CRYPT_STRING_HEX_ANY: CRYPT_STRING = 8u32;
6580 pub const CRYPT_STRING_BASE64URI: u32 = 13u32;
6581 pub const CRYPT_STRING_ENCODEMASK: u32 = 255u32;
6582 pub const CRYPT_STRING_HASHDATA: u32 = 268435456u32;
6583 pub const CRYPT_STRING_NOCR: u32 = 2147483648u32;
6584 pub const CRYPT_STRING_NOCRLF: u32 = 1073741824u32;
6585 pub const CRYPT_STRING_PERCENTESCAPE: u32 = 134217728u32;
6586 pub const CRYPT_STRING_RESERVED100: u32 = 256u32;
6587 pub const CRYPT_STRING_RESERVED200: u32 = 512u32;
6588 pub const CRYPT_SUCCEED: u32 = 1u32;
6589 pub const CRYPT_TEMPLATE_OID_GROUP_ID: u32 = 9u32;
6590 #[repr(C)]
6591 pub struct CRYPT_TIMESTAMP_ACCURACY {
6592     pub dwSeconds: u32,
6593     pub dwMillis: u32,
6594     pub dwMicros: u32,
6595 }
6596 impl ::core::marker::Copy for CRYPT_TIMESTAMP_ACCURACY {}
6597 impl ::core::clone::Clone for CRYPT_TIMESTAMP_ACCURACY {
clone(&self) -> Self6598     fn clone(&self) -> Self {
6599         *self
6600     }
6601 }
6602 #[repr(C)]
6603 #[cfg(feature = "Win32_Foundation")]
6604 pub struct CRYPT_TIMESTAMP_CONTEXT {
6605     pub cbEncoded: u32,
6606     pub pbEncoded: *mut u8,
6607     pub pTimeStamp: *mut CRYPT_TIMESTAMP_INFO,
6608 }
6609 #[cfg(feature = "Win32_Foundation")]
6610 impl ::core::marker::Copy for CRYPT_TIMESTAMP_CONTEXT {}
6611 #[cfg(feature = "Win32_Foundation")]
6612 impl ::core::clone::Clone for CRYPT_TIMESTAMP_CONTEXT {
clone(&self) -> Self6613     fn clone(&self) -> Self {
6614         *self
6615     }
6616 }
6617 #[repr(C)]
6618 #[cfg(feature = "Win32_Foundation")]
6619 pub struct CRYPT_TIMESTAMP_INFO {
6620     pub dwVersion: u32,
6621     pub pszTSAPolicyId: super::super::Foundation::PSTR,
6622     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
6623     pub HashedMessage: CRYPTOAPI_BLOB,
6624     pub SerialNumber: CRYPTOAPI_BLOB,
6625     pub ftTime: super::super::Foundation::FILETIME,
6626     pub pvAccuracy: *mut CRYPT_TIMESTAMP_ACCURACY,
6627     pub fOrdering: super::super::Foundation::BOOL,
6628     pub Nonce: CRYPTOAPI_BLOB,
6629     pub Tsa: CRYPTOAPI_BLOB,
6630     pub cExtension: u32,
6631     pub rgExtension: *mut CERT_EXTENSION,
6632 }
6633 #[cfg(feature = "Win32_Foundation")]
6634 impl ::core::marker::Copy for CRYPT_TIMESTAMP_INFO {}
6635 #[cfg(feature = "Win32_Foundation")]
6636 impl ::core::clone::Clone for CRYPT_TIMESTAMP_INFO {
clone(&self) -> Self6637     fn clone(&self) -> Self {
6638         *self
6639     }
6640 }
6641 #[repr(C)]
6642 #[cfg(feature = "Win32_Foundation")]
6643 pub struct CRYPT_TIMESTAMP_PARA {
6644     pub pszTSAPolicyId: super::super::Foundation::PSTR,
6645     pub fRequestCerts: super::super::Foundation::BOOL,
6646     pub Nonce: CRYPTOAPI_BLOB,
6647     pub cExtension: u32,
6648     pub rgExtension: *mut CERT_EXTENSION,
6649 }
6650 #[cfg(feature = "Win32_Foundation")]
6651 impl ::core::marker::Copy for CRYPT_TIMESTAMP_PARA {}
6652 #[cfg(feature = "Win32_Foundation")]
6653 impl ::core::clone::Clone for CRYPT_TIMESTAMP_PARA {
clone(&self) -> Self6654     fn clone(&self) -> Self {
6655         *self
6656     }
6657 }
6658 #[repr(C)]
6659 #[cfg(feature = "Win32_Foundation")]
6660 pub struct CRYPT_TIMESTAMP_REQUEST {
6661     pub dwVersion: CRYPT_TIMESTAMP_VERSION,
6662     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
6663     pub HashedMessage: CRYPTOAPI_BLOB,
6664     pub pszTSAPolicyId: super::super::Foundation::PSTR,
6665     pub Nonce: CRYPTOAPI_BLOB,
6666     pub fCertReq: super::super::Foundation::BOOL,
6667     pub cExtension: u32,
6668     pub rgExtension: *mut CERT_EXTENSION,
6669 }
6670 #[cfg(feature = "Win32_Foundation")]
6671 impl ::core::marker::Copy for CRYPT_TIMESTAMP_REQUEST {}
6672 #[cfg(feature = "Win32_Foundation")]
6673 impl ::core::clone::Clone for CRYPT_TIMESTAMP_REQUEST {
clone(&self) -> Self6674     fn clone(&self) -> Self {
6675         *self
6676     }
6677 }
6678 #[repr(C)]
6679 #[cfg(feature = "Win32_Foundation")]
6680 pub struct CRYPT_TIMESTAMP_RESPONSE {
6681     pub dwStatus: CRYPT_TIMESTAMP_RESPONSE_STATUS,
6682     pub cFreeText: u32,
6683     pub rgFreeText: *mut super::super::Foundation::PWSTR,
6684     pub FailureInfo: CRYPT_BIT_BLOB,
6685     pub ContentInfo: CRYPTOAPI_BLOB,
6686 }
6687 #[cfg(feature = "Win32_Foundation")]
6688 impl ::core::marker::Copy for CRYPT_TIMESTAMP_RESPONSE {}
6689 #[cfg(feature = "Win32_Foundation")]
6690 impl ::core::clone::Clone for CRYPT_TIMESTAMP_RESPONSE {
clone(&self) -> Self6691     fn clone(&self) -> Self {
6692         *self
6693     }
6694 }
6695 pub type CRYPT_TIMESTAMP_RESPONSE_STATUS = u32;
6696 pub const TIMESTAMP_STATUS_GRANTED: CRYPT_TIMESTAMP_RESPONSE_STATUS = 0u32;
6697 pub const TIMESTAMP_STATUS_GRANTED_WITH_MODS: CRYPT_TIMESTAMP_RESPONSE_STATUS = 1u32;
6698 pub const TIMESTAMP_STATUS_REJECTED: CRYPT_TIMESTAMP_RESPONSE_STATUS = 2u32;
6699 pub const TIMESTAMP_STATUS_WAITING: CRYPT_TIMESTAMP_RESPONSE_STATUS = 3u32;
6700 pub const TIMESTAMP_STATUS_REVOCATION_WARNING: CRYPT_TIMESTAMP_RESPONSE_STATUS = 4u32;
6701 pub const TIMESTAMP_STATUS_REVOKED: CRYPT_TIMESTAMP_RESPONSE_STATUS = 5u32;
6702 pub type CRYPT_TIMESTAMP_VERSION = u32;
6703 pub const TIMESTAMP_VERSION: CRYPT_TIMESTAMP_VERSION = 1u32;
6704 #[repr(C)]
6705 #[cfg(feature = "Win32_Foundation")]
6706 pub struct CRYPT_TIME_STAMP_REQUEST_INFO {
6707     pub pszTimeStampAlgorithm: super::super::Foundation::PSTR,
6708     pub pszContentType: super::super::Foundation::PSTR,
6709     pub Content: CRYPTOAPI_BLOB,
6710     pub cAttribute: u32,
6711     pub rgAttribute: *mut CRYPT_ATTRIBUTE,
6712 }
6713 #[cfg(feature = "Win32_Foundation")]
6714 impl ::core::marker::Copy for CRYPT_TIME_STAMP_REQUEST_INFO {}
6715 #[cfg(feature = "Win32_Foundation")]
6716 impl ::core::clone::Clone for CRYPT_TIME_STAMP_REQUEST_INFO {
clone(&self) -> Self6717     fn clone(&self) -> Self {
6718         *self
6719     }
6720 }
6721 pub const CRYPT_TYPE2_FORMAT: u32 = 2u32;
6722 pub const CRYPT_UI_PROMPT: u32 = 4u32;
6723 pub const CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG: u32 = 16777216u32;
6724 pub const CRYPT_UNICODE_NAME_ENCODE_FORCE_UTF8_UNICODE_FLAG: u32 = 268435456u32;
6725 pub const CRYPT_UPDATE_KEY: u32 = 8u32;
6726 #[repr(C)]
6727 #[cfg(feature = "Win32_Foundation")]
6728 pub struct CRYPT_URL_ARRAY {
6729     pub cUrl: u32,
6730     pub rgwszUrl: *mut super::super::Foundation::PWSTR,
6731 }
6732 #[cfg(feature = "Win32_Foundation")]
6733 impl ::core::marker::Copy for CRYPT_URL_ARRAY {}
6734 #[cfg(feature = "Win32_Foundation")]
6735 impl ::core::clone::Clone for CRYPT_URL_ARRAY {
clone(&self) -> Self6736     fn clone(&self) -> Self {
6737         *self
6738     }
6739 }
6740 #[repr(C)]
6741 pub struct CRYPT_URL_INFO {
6742     pub cbSize: u32,
6743     pub dwSyncDeltaTime: u32,
6744     pub cGroup: u32,
6745     pub rgcGroupEntry: *mut u32,
6746 }
6747 impl ::core::marker::Copy for CRYPT_URL_INFO {}
6748 impl ::core::clone::Clone for CRYPT_URL_INFO {
clone(&self) -> Self6749     fn clone(&self) -> Self {
6750         *self
6751     }
6752 }
6753 pub const CRYPT_USERDATA: u32 = 1u32;
6754 pub const CRYPT_USER_DEFAULT: u32 = 2u32;
6755 pub const CRYPT_USER_PROTECTED_STRONG: u32 = 1048576u32;
6756 pub const CRYPT_VERIFYCONTEXT: u32 = 4026531840u32;
6757 pub type CRYPT_VERIFY_CERT_FLAGS = u32;
6758 pub const CRYPT_VERIFY_CERT_SIGN_DISABLE_MD2_MD4_FLAG: CRYPT_VERIFY_CERT_FLAGS = 1u32;
6759 pub const CRYPT_VERIFY_CERT_SIGN_SET_STRONG_PROPERTIES_FLAG: CRYPT_VERIFY_CERT_FLAGS = 2u32;
6760 pub const CRYPT_VERIFY_CERT_SIGN_RETURN_STRONG_PROPERTIES_FLAG: CRYPT_VERIFY_CERT_FLAGS = 4u32;
6761 pub const CRYPT_VERIFY_CERT_SIGN_CHECK_WEAK_HASH_FLAG: u32 = 8u32;
6762 pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_CERT: u32 = 2u32;
6763 pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_CHAIN: u32 = 3u32;
6764 pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_NULL: u32 = 4u32;
6765 pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_PUBKEY: u32 = 1u32;
6766 #[repr(C)]
6767 pub struct CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO {
6768     pub CertSignHashCNGAlgPropData: CRYPTOAPI_BLOB,
6769     pub CertIssuerPubKeyBitLengthPropData: CRYPTOAPI_BLOB,
6770 }
6771 impl ::core::marker::Copy for CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO {}
6772 impl ::core::clone::Clone for CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO {
clone(&self) -> Self6773     fn clone(&self) -> Self {
6774         *self
6775     }
6776 }
6777 pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB: u32 = 1u32;
6778 pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_CERT: u32 = 2u32;
6779 pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_CRL: u32 = 3u32;
6780 pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_OCSP_BASIC_SIGNED_RESPONSE: u32 = 4u32;
6781 #[repr(C)]
6782 #[cfg(feature = "Win32_Foundation")]
6783 pub struct CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO {
6784     pub cCNGHashAlgid: u32,
6785     pub rgpwszCNGHashAlgid: *mut super::super::Foundation::PWSTR,
6786     pub dwWeakIndex: u32,
6787 }
6788 #[cfg(feature = "Win32_Foundation")]
6789 impl ::core::marker::Copy for CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO {}
6790 #[cfg(feature = "Win32_Foundation")]
6791 impl ::core::clone::Clone for CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO {
clone(&self) -> Self6792     fn clone(&self) -> Self {
6793         *self
6794     }
6795 }
6796 pub const CRYPT_VERIFY_CONTEXT_SIGNATURE: u32 = 32u32;
6797 pub const CRYPT_VERIFY_DATA_HASH: u32 = 64u32;
6798 #[repr(C)]
6799 #[cfg(feature = "Win32_Foundation")]
6800 pub struct CRYPT_VERIFY_MESSAGE_PARA {
6801     pub cbSize: u32,
6802     pub dwMsgAndCertEncodingType: u32,
6803     pub hCryptProv: usize,
6804     pub pfnGetSignerCertificate: PFN_CRYPT_GET_SIGNER_CERTIFICATE,
6805     pub pvGetArg: *mut ::core::ffi::c_void,
6806 }
6807 #[cfg(feature = "Win32_Foundation")]
6808 impl ::core::marker::Copy for CRYPT_VERIFY_MESSAGE_PARA {}
6809 #[cfg(feature = "Win32_Foundation")]
6810 impl ::core::clone::Clone for CRYPT_VERIFY_MESSAGE_PARA {
clone(&self) -> Self6811     fn clone(&self) -> Self {
6812         *self
6813     }
6814 }
6815 pub const CRYPT_WIRE_ONLY_RETRIEVAL: u32 = 4u32;
6816 pub const CRYPT_WRITE: u32 = 16u32;
6817 pub const CRYPT_X931_FORMAT: u32 = 4u32;
6818 pub const CRYPT_X942_COUNTER_BYTE_LENGTH: u32 = 4u32;
6819 pub const CRYPT_X942_KEY_LENGTH_BYTE_LENGTH: u32 = 4u32;
6820 #[repr(C)]
6821 #[cfg(feature = "Win32_Foundation")]
6822 pub struct CRYPT_X942_OTHER_INFO {
6823     pub pszContentEncryptionObjId: super::super::Foundation::PSTR,
6824     pub rgbCounter: [u8; 4],
6825     pub rgbKeyLength: [u8; 4],
6826     pub PubInfo: CRYPTOAPI_BLOB,
6827 }
6828 #[cfg(feature = "Win32_Foundation")]
6829 impl ::core::marker::Copy for CRYPT_X942_OTHER_INFO {}
6830 #[cfg(feature = "Win32_Foundation")]
6831 impl ::core::clone::Clone for CRYPT_X942_OTHER_INFO {
clone(&self) -> Self6832     fn clone(&self) -> Self {
6833         *self
6834     }
6835 }
6836 #[repr(C)]
6837 #[cfg(feature = "Win32_Foundation")]
6838 pub struct CRYPT_XML_ALGORITHM {
6839     pub cbSize: u32,
6840     pub wszAlgorithm: super::super::Foundation::PWSTR,
6841     pub Encoded: CRYPT_XML_BLOB,
6842 }
6843 #[cfg(feature = "Win32_Foundation")]
6844 impl ::core::marker::Copy for CRYPT_XML_ALGORITHM {}
6845 #[cfg(feature = "Win32_Foundation")]
6846 impl ::core::clone::Clone for CRYPT_XML_ALGORITHM {
clone(&self) -> Self6847     fn clone(&self) -> Self {
6848         *self
6849     }
6850 }
6851 #[repr(C)]
6852 #[cfg(feature = "Win32_Foundation")]
6853 pub struct CRYPT_XML_ALGORITHM_INFO {
6854     pub cbSize: u32,
6855     pub wszAlgorithmURI: super::super::Foundation::PWSTR,
6856     pub wszName: super::super::Foundation::PWSTR,
6857     pub dwGroupId: CRYPT_XML_GROUP_ID,
6858     pub wszCNGAlgid: super::super::Foundation::PWSTR,
6859     pub wszCNGExtraAlgid: super::super::Foundation::PWSTR,
6860     pub dwSignFlags: u32,
6861     pub dwVerifyFlags: u32,
6862     pub pvPaddingInfo: *mut ::core::ffi::c_void,
6863     pub pvExtraInfo: *mut ::core::ffi::c_void,
6864 }
6865 #[cfg(feature = "Win32_Foundation")]
6866 impl ::core::marker::Copy for CRYPT_XML_ALGORITHM_INFO {}
6867 #[cfg(feature = "Win32_Foundation")]
6868 impl ::core::clone::Clone for CRYPT_XML_ALGORITHM_INFO {
clone(&self) -> Self6869     fn clone(&self) -> Self {
6870         *self
6871     }
6872 }
6873 pub const CRYPT_XML_ALGORITHM_INFO_FIND_BY_CNG_ALGID: u32 = 3u32;
6874 pub const CRYPT_XML_ALGORITHM_INFO_FIND_BY_CNG_SIGN_ALGID: u32 = 4u32;
6875 pub const CRYPT_XML_ALGORITHM_INFO_FIND_BY_NAME: u32 = 2u32;
6876 pub const CRYPT_XML_ALGORITHM_INFO_FIND_BY_URI: u32 = 1u32;
6877 #[repr(C)]
6878 pub struct CRYPT_XML_BLOB {
6879     pub dwCharset: CRYPT_XML_CHARSET,
6880     pub cbData: u32,
6881     pub pbData: *mut u8,
6882 }
6883 impl ::core::marker::Copy for CRYPT_XML_BLOB {}
6884 impl ::core::clone::Clone for CRYPT_XML_BLOB {
clone(&self) -> Self6885     fn clone(&self) -> Self {
6886         *self
6887     }
6888 }
6889 pub const CRYPT_XML_BLOB_MAX: u32 = 2147483640u32;
6890 pub type CRYPT_XML_CHARSET = i32;
6891 pub const CRYPT_XML_CHARSET_AUTO: CRYPT_XML_CHARSET = 0i32;
6892 pub const CRYPT_XML_CHARSET_UTF8: CRYPT_XML_CHARSET = 1i32;
6893 pub const CRYPT_XML_CHARSET_UTF16LE: CRYPT_XML_CHARSET = 2i32;
6894 pub const CRYPT_XML_CHARSET_UTF16BE: CRYPT_XML_CHARSET = 3i32;
6895 #[repr(C)]
6896 #[cfg(feature = "Win32_Foundation")]
6897 pub struct CRYPT_XML_CRYPTOGRAPHIC_INTERFACE {
6898     pub cbSize: u32,
6899     pub fpCryptXmlEncodeAlgorithm: CryptXmlDllEncodeAlgorithm,
6900     pub fpCryptXmlCreateDigest: CryptXmlDllCreateDigest,
6901     pub fpCryptXmlDigestData: CryptXmlDllDigestData,
6902     pub fpCryptXmlFinalizeDigest: CryptXmlDllFinalizeDigest,
6903     pub fpCryptXmlCloseDigest: CryptXmlDllCloseDigest,
6904     pub fpCryptXmlSignData: CryptXmlDllSignData,
6905     pub fpCryptXmlVerifySignature: CryptXmlDllVerifySignature,
6906     pub fpCryptXmlGetAlgorithmInfo: CryptXmlDllGetAlgorithmInfo,
6907 }
6908 #[cfg(feature = "Win32_Foundation")]
6909 impl ::core::marker::Copy for CRYPT_XML_CRYPTOGRAPHIC_INTERFACE {}
6910 #[cfg(feature = "Win32_Foundation")]
6911 impl ::core::clone::Clone for CRYPT_XML_CRYPTOGRAPHIC_INTERFACE {
clone(&self) -> Self6912     fn clone(&self) -> Self {
6913         *self
6914     }
6915 }
6916 #[repr(C)]
6917 pub struct CRYPT_XML_DATA_BLOB {
6918     pub cbData: u32,
6919     pub pbData: *mut u8,
6920 }
6921 impl ::core::marker::Copy for CRYPT_XML_DATA_BLOB {}
6922 impl ::core::clone::Clone for CRYPT_XML_DATA_BLOB {
clone(&self) -> Self6923     fn clone(&self) -> Self {
6924         *self
6925     }
6926 }
6927 #[repr(C)]
6928 pub struct CRYPT_XML_DATA_PROVIDER {
6929     pub pvCallbackState: *mut ::core::ffi::c_void,
6930     pub cbBufferSize: u32,
6931     pub pfnRead: PFN_CRYPT_XML_DATA_PROVIDER_READ,
6932     pub pfnClose: PFN_CRYPT_XML_DATA_PROVIDER_CLOSE,
6933 }
6934 impl ::core::marker::Copy for CRYPT_XML_DATA_PROVIDER {}
6935 impl ::core::clone::Clone for CRYPT_XML_DATA_PROVIDER {
clone(&self) -> Self6936     fn clone(&self) -> Self {
6937         *self
6938     }
6939 }
6940 pub const CRYPT_XML_DIGEST_REFERENCE_DATA_TRANSFORMED: u32 = 1u32;
6941 pub const CRYPT_XML_DIGEST_VALUE_MAX: u32 = 128u32;
6942 #[repr(C)]
6943 #[cfg(feature = "Win32_Foundation")]
6944 pub struct CRYPT_XML_DOC_CTXT {
6945     pub cbSize: u32,
6946     pub hDocCtxt: *mut ::core::ffi::c_void,
6947     pub pTransformsConfig: *mut CRYPT_XML_TRANSFORM_CHAIN_CONFIG,
6948     pub cSignature: u32,
6949     pub rgpSignature: *mut *mut CRYPT_XML_SIGNATURE,
6950 }
6951 #[cfg(feature = "Win32_Foundation")]
6952 impl ::core::marker::Copy for CRYPT_XML_DOC_CTXT {}
6953 #[cfg(feature = "Win32_Foundation")]
6954 impl ::core::clone::Clone for CRYPT_XML_DOC_CTXT {
clone(&self) -> Self6955     fn clone(&self) -> Self {
6956         *self
6957     }
6958 }
6959 pub const CRYPT_XML_E_ALGORITHM: ::windows_sys::core::HRESULT = -2146885372i32;
6960 pub const CRYPT_XML_E_BASE: ::windows_sys::core::HRESULT = -2146885376i32;
6961 pub const CRYPT_XML_E_ENCODING: ::windows_sys::core::HRESULT = -2146885373i32;
6962 pub const CRYPT_XML_E_HANDLE: ::windows_sys::core::HRESULT = -2146885370i32;
6963 pub const CRYPT_XML_E_HASH_FAILED: ::windows_sys::core::HRESULT = -2146885365i32;
6964 pub const CRYPT_XML_E_INVALID_DIGEST: ::windows_sys::core::HRESULT = -2146885367i32;
6965 pub const CRYPT_XML_E_INVALID_KEYVALUE: ::windows_sys::core::HRESULT = -2146885361i32;
6966 pub const CRYPT_XML_E_INVALID_SIGNATURE: ::windows_sys::core::HRESULT = -2146885366i32;
6967 pub const CRYPT_XML_E_LARGE: ::windows_sys::core::HRESULT = -2146885375i32;
6968 pub const CRYPT_XML_E_LAST: ::windows_sys::core::HRESULT = -2146885358i32;
6969 pub const CRYPT_XML_E_NON_UNIQUE_ID: ::windows_sys::core::HRESULT = -2146885358i32;
6970 pub const CRYPT_XML_E_OPERATION: ::windows_sys::core::HRESULT = -2146885369i32;
6971 pub const CRYPT_XML_E_SIGNER: ::windows_sys::core::HRESULT = -2146885359i32;
6972 pub const CRYPT_XML_E_SIGN_FAILED: ::windows_sys::core::HRESULT = -2146885364i32;
6973 pub const CRYPT_XML_E_TOO_MANY_SIGNATURES: ::windows_sys::core::HRESULT = -2146885362i32;
6974 pub const CRYPT_XML_E_TOO_MANY_TRANSFORMS: ::windows_sys::core::HRESULT = -2146885374i32;
6975 pub const CRYPT_XML_E_TRANSFORM: ::windows_sys::core::HRESULT = -2146885371i32;
6976 pub const CRYPT_XML_E_UNEXPECTED_XML: ::windows_sys::core::HRESULT = -2146885360i32;
6977 pub const CRYPT_XML_E_UNRESOLVED_REFERENCE: ::windows_sys::core::HRESULT = -2146885368i32;
6978 pub const CRYPT_XML_E_VERIFY_FAILED: ::windows_sys::core::HRESULT = -2146885363i32;
6979 pub type CRYPT_XML_FLAGS = u32;
6980 pub const CRYPT_XML_FLAG_DISABLE_EXTENSIONS: CRYPT_XML_FLAGS = 268435456u32;
6981 pub const CRYPT_XML_FLAG_NO_SERIALIZE: CRYPT_XML_FLAGS = 2147483648u32;
6982 pub const CRYPT_XML_SIGN_ADD_KEYVALUE: CRYPT_XML_FLAGS = 1u32;
6983 pub const CRYPT_XML_FLAG_ADD_OBJECT_CREATE_COPY: u32 = 1u32;
6984 pub const CRYPT_XML_FLAG_ALWAYS_RETURN_ENCODED_OBJECT: u32 = 1073741824u32;
6985 pub const CRYPT_XML_FLAG_CREATE_REFERENCE_AS_OBJECT: u32 = 1u32;
6986 pub const CRYPT_XML_FLAG_ECDSA_DSIG11: u32 = 67108864u32;
6987 pub const CRYPT_XML_FLAG_ENFORCE_ID_NAME_FORMAT: u32 = 134217728u32;
6988 pub const CRYPT_XML_FLAG_ENFORCE_ID_NCNAME_FORMAT: u32 = 536870912u32;
6989 pub type CRYPT_XML_GROUP_ID = u32;
6990 pub const CRYPT_XML_GROUP_ID_HASH_________: CRYPT_XML_GROUP_ID = 1u32;
6991 pub const CRYPT_XML_GROUP_ID_SIGN_________: CRYPT_XML_GROUP_ID = 2u32;
6992 pub const CRYPT_XML_GROUP_ID_HASH: u32 = 1u32;
6993 pub const CRYPT_XML_GROUP_ID_SIGN: u32 = 2u32;
6994 pub const CRYPT_XML_ID_MAX: u32 = 256u32;
6995 #[repr(C)]
6996 #[cfg(feature = "Win32_Foundation")]
6997 pub struct CRYPT_XML_ISSUER_SERIAL {
6998     pub wszIssuer: super::super::Foundation::PWSTR,
6999     pub wszSerial: super::super::Foundation::PWSTR,
7000 }
7001 #[cfg(feature = "Win32_Foundation")]
7002 impl ::core::marker::Copy for CRYPT_XML_ISSUER_SERIAL {}
7003 #[cfg(feature = "Win32_Foundation")]
7004 impl ::core::clone::Clone for CRYPT_XML_ISSUER_SERIAL {
clone(&self) -> Self7005     fn clone(&self) -> Self {
7006         *self
7007     }
7008 }
7009 #[repr(C)]
7010 #[cfg(feature = "Win32_Foundation")]
7011 pub struct CRYPT_XML_KEYINFO_PARAM {
7012     pub wszId: super::super::Foundation::PWSTR,
7013     pub wszKeyName: super::super::Foundation::PWSTR,
7014     pub SKI: CRYPTOAPI_BLOB,
7015     pub wszSubjectName: super::super::Foundation::PWSTR,
7016     pub cCertificate: u32,
7017     pub rgCertificate: *mut CRYPTOAPI_BLOB,
7018     pub cCRL: u32,
7019     pub rgCRL: *mut CRYPTOAPI_BLOB,
7020 }
7021 #[cfg(feature = "Win32_Foundation")]
7022 impl ::core::marker::Copy for CRYPT_XML_KEYINFO_PARAM {}
7023 #[cfg(feature = "Win32_Foundation")]
7024 impl ::core::clone::Clone for CRYPT_XML_KEYINFO_PARAM {
clone(&self) -> Self7025     fn clone(&self) -> Self {
7026         *self
7027     }
7028 }
7029 pub type CRYPT_XML_KEYINFO_SPEC = i32;
7030 pub const CRYPT_XML_KEYINFO_SPEC_NONE: CRYPT_XML_KEYINFO_SPEC = 0i32;
7031 pub const CRYPT_XML_KEYINFO_SPEC_ENCODED: CRYPT_XML_KEYINFO_SPEC = 1i32;
7032 pub const CRYPT_XML_KEYINFO_SPEC_PARAM: CRYPT_XML_KEYINFO_SPEC = 2i32;
7033 pub type CRYPT_XML_KEYINFO_TYPE = u32;
7034 pub const CRYPT_XML_KEYINFO_TYPE_KEYNAME: CRYPT_XML_KEYINFO_TYPE = 1u32;
7035 pub const CRYPT_XML_KEYINFO_TYPE_KEYVALUE: CRYPT_XML_KEYINFO_TYPE = 2u32;
7036 pub const CRYPT_XML_KEYINFO_TYPE_RETRIEVAL: CRYPT_XML_KEYINFO_TYPE = 3u32;
7037 pub const CRYPT_XML_KEYINFO_TYPE_X509DATA: CRYPT_XML_KEYINFO_TYPE = 4u32;
7038 pub const CRYPT_XML_KEYINFO_TYPE_CUSTOM: CRYPT_XML_KEYINFO_TYPE = 5u32;
7039 #[repr(C)]
7040 pub struct CRYPT_XML_KEY_DSA_KEY_VALUE {
7041     pub P: CRYPT_XML_DATA_BLOB,
7042     pub Q: CRYPT_XML_DATA_BLOB,
7043     pub G: CRYPT_XML_DATA_BLOB,
7044     pub Y: CRYPT_XML_DATA_BLOB,
7045     pub J: CRYPT_XML_DATA_BLOB,
7046     pub Seed: CRYPT_XML_DATA_BLOB,
7047     pub Counter: CRYPT_XML_DATA_BLOB,
7048 }
7049 impl ::core::marker::Copy for CRYPT_XML_KEY_DSA_KEY_VALUE {}
7050 impl ::core::clone::Clone for CRYPT_XML_KEY_DSA_KEY_VALUE {
clone(&self) -> Self7051     fn clone(&self) -> Self {
7052         *self
7053     }
7054 }
7055 #[repr(C)]
7056 #[cfg(feature = "Win32_Foundation")]
7057 pub struct CRYPT_XML_KEY_ECDSA_KEY_VALUE {
7058     pub wszNamedCurve: super::super::Foundation::PWSTR,
7059     pub X: CRYPT_XML_DATA_BLOB,
7060     pub Y: CRYPT_XML_DATA_BLOB,
7061     pub ExplicitPara: CRYPT_XML_BLOB,
7062 }
7063 #[cfg(feature = "Win32_Foundation")]
7064 impl ::core::marker::Copy for CRYPT_XML_KEY_ECDSA_KEY_VALUE {}
7065 #[cfg(feature = "Win32_Foundation")]
7066 impl ::core::clone::Clone for CRYPT_XML_KEY_ECDSA_KEY_VALUE {
clone(&self) -> Self7067     fn clone(&self) -> Self {
7068         *self
7069     }
7070 }
7071 #[repr(C)]
7072 #[cfg(feature = "Win32_Foundation")]
7073 pub struct CRYPT_XML_KEY_INFO {
7074     pub cbSize: u32,
7075     pub wszId: super::super::Foundation::PWSTR,
7076     pub cKeyInfo: u32,
7077     pub rgKeyInfo: *mut CRYPT_XML_KEY_INFO_ITEM,
7078     pub hVerifyKey: BCRYPT_KEY_HANDLE,
7079 }
7080 #[cfg(feature = "Win32_Foundation")]
7081 impl ::core::marker::Copy for CRYPT_XML_KEY_INFO {}
7082 #[cfg(feature = "Win32_Foundation")]
7083 impl ::core::clone::Clone for CRYPT_XML_KEY_INFO {
clone(&self) -> Self7084     fn clone(&self) -> Self {
7085         *self
7086     }
7087 }
7088 #[repr(C)]
7089 #[cfg(feature = "Win32_Foundation")]
7090 pub struct CRYPT_XML_KEY_INFO_ITEM {
7091     pub dwType: CRYPT_XML_KEYINFO_TYPE,
7092     pub Anonymous: CRYPT_XML_KEY_INFO_ITEM_0,
7093 }
7094 #[cfg(feature = "Win32_Foundation")]
7095 impl ::core::marker::Copy for CRYPT_XML_KEY_INFO_ITEM {}
7096 #[cfg(feature = "Win32_Foundation")]
7097 impl ::core::clone::Clone for CRYPT_XML_KEY_INFO_ITEM {
clone(&self) -> Self7098     fn clone(&self) -> Self {
7099         *self
7100     }
7101 }
7102 #[repr(C)]
7103 #[cfg(feature = "Win32_Foundation")]
7104 pub union CRYPT_XML_KEY_INFO_ITEM_0 {
7105     pub wszKeyName: super::super::Foundation::PWSTR,
7106     pub KeyValue: CRYPT_XML_KEY_VALUE,
7107     pub RetrievalMethod: CRYPT_XML_BLOB,
7108     pub X509Data: CRYPT_XML_X509DATA,
7109     pub Custom: CRYPT_XML_BLOB,
7110 }
7111 #[cfg(feature = "Win32_Foundation")]
7112 impl ::core::marker::Copy for CRYPT_XML_KEY_INFO_ITEM_0 {}
7113 #[cfg(feature = "Win32_Foundation")]
7114 impl ::core::clone::Clone for CRYPT_XML_KEY_INFO_ITEM_0 {
clone(&self) -> Self7115     fn clone(&self) -> Self {
7116         *self
7117     }
7118 }
7119 #[repr(C)]
7120 pub struct CRYPT_XML_KEY_RSA_KEY_VALUE {
7121     pub Modulus: CRYPT_XML_DATA_BLOB,
7122     pub Exponent: CRYPT_XML_DATA_BLOB,
7123 }
7124 impl ::core::marker::Copy for CRYPT_XML_KEY_RSA_KEY_VALUE {}
7125 impl ::core::clone::Clone for CRYPT_XML_KEY_RSA_KEY_VALUE {
clone(&self) -> Self7126     fn clone(&self) -> Self {
7127         *self
7128     }
7129 }
7130 #[repr(C)]
7131 #[cfg(feature = "Win32_Foundation")]
7132 pub struct CRYPT_XML_KEY_VALUE {
7133     pub dwType: CRYPT_XML_KEY_VALUE_TYPE,
7134     pub Anonymous: CRYPT_XML_KEY_VALUE_0,
7135 }
7136 #[cfg(feature = "Win32_Foundation")]
7137 impl ::core::marker::Copy for CRYPT_XML_KEY_VALUE {}
7138 #[cfg(feature = "Win32_Foundation")]
7139 impl ::core::clone::Clone for CRYPT_XML_KEY_VALUE {
clone(&self) -> Self7140     fn clone(&self) -> Self {
7141         *self
7142     }
7143 }
7144 #[repr(C)]
7145 #[cfg(feature = "Win32_Foundation")]
7146 pub union CRYPT_XML_KEY_VALUE_0 {
7147     pub DSAKeyValue: CRYPT_XML_KEY_DSA_KEY_VALUE,
7148     pub RSAKeyValue: CRYPT_XML_KEY_RSA_KEY_VALUE,
7149     pub ECDSAKeyValue: CRYPT_XML_KEY_ECDSA_KEY_VALUE,
7150     pub Custom: CRYPT_XML_BLOB,
7151 }
7152 #[cfg(feature = "Win32_Foundation")]
7153 impl ::core::marker::Copy for CRYPT_XML_KEY_VALUE_0 {}
7154 #[cfg(feature = "Win32_Foundation")]
7155 impl ::core::clone::Clone for CRYPT_XML_KEY_VALUE_0 {
clone(&self) -> Self7156     fn clone(&self) -> Self {
7157         *self
7158     }
7159 }
7160 pub type CRYPT_XML_KEY_VALUE_TYPE = u32;
7161 pub const CRYPT_XML_KEY_VALUE_TYPE_DSA: CRYPT_XML_KEY_VALUE_TYPE = 1u32;
7162 pub const CRYPT_XML_KEY_VALUE_TYPE_RSA: CRYPT_XML_KEY_VALUE_TYPE = 2u32;
7163 pub const CRYPT_XML_KEY_VALUE_TYPE_ECDSA: CRYPT_XML_KEY_VALUE_TYPE = 3u32;
7164 pub const CRYPT_XML_KEY_VALUE_TYPE_CUSTOM: CRYPT_XML_KEY_VALUE_TYPE = 4u32;
7165 #[repr(C)]
7166 #[cfg(feature = "Win32_Foundation")]
7167 pub struct CRYPT_XML_OBJECT {
7168     pub cbSize: u32,
7169     pub hObject: *mut ::core::ffi::c_void,
7170     pub wszId: super::super::Foundation::PWSTR,
7171     pub wszMimeType: super::super::Foundation::PWSTR,
7172     pub wszEncoding: super::super::Foundation::PWSTR,
7173     pub Manifest: CRYPT_XML_REFERENCES,
7174     pub Encoded: CRYPT_XML_BLOB,
7175 }
7176 #[cfg(feature = "Win32_Foundation")]
7177 impl ::core::marker::Copy for CRYPT_XML_OBJECT {}
7178 #[cfg(feature = "Win32_Foundation")]
7179 impl ::core::clone::Clone for CRYPT_XML_OBJECT {
clone(&self) -> Self7180     fn clone(&self) -> Self {
7181         *self
7182     }
7183 }
7184 pub const CRYPT_XML_OBJECTS_MAX: u32 = 256u32;
7185 #[repr(C)]
7186 pub struct CRYPT_XML_PROPERTY {
7187     pub dwPropId: CRYPT_XML_PROPERTY_ID,
7188     pub pvValue: *mut ::core::ffi::c_void,
7189     pub cbValue: u32,
7190 }
7191 impl ::core::marker::Copy for CRYPT_XML_PROPERTY {}
7192 impl ::core::clone::Clone for CRYPT_XML_PROPERTY {
clone(&self) -> Self7193     fn clone(&self) -> Self {
7194         *self
7195     }
7196 }
7197 pub type CRYPT_XML_PROPERTY_ID = i32;
7198 pub const CRYPT_XML_PROPERTY_MAX_HEAP_SIZE: CRYPT_XML_PROPERTY_ID = 1i32;
7199 pub const CRYPT_XML_PROPERTY_SIGNATURE_LOCATION: CRYPT_XML_PROPERTY_ID = 2i32;
7200 pub const CRYPT_XML_PROPERTY_MAX_SIGNATURES: CRYPT_XML_PROPERTY_ID = 3i32;
7201 pub const CRYPT_XML_PROPERTY_DOC_DECLARATION: CRYPT_XML_PROPERTY_ID = 4i32;
7202 pub const CRYPT_XML_PROPERTY_XML_OUTPUT_CHARSET: CRYPT_XML_PROPERTY_ID = 5i32;
7203 #[repr(C)]
7204 #[cfg(feature = "Win32_Foundation")]
7205 pub struct CRYPT_XML_REFERENCE {
7206     pub cbSize: u32,
7207     pub hReference: *mut ::core::ffi::c_void,
7208     pub wszId: super::super::Foundation::PWSTR,
7209     pub wszUri: super::super::Foundation::PWSTR,
7210     pub wszType: super::super::Foundation::PWSTR,
7211     pub DigestMethod: CRYPT_XML_ALGORITHM,
7212     pub DigestValue: CRYPTOAPI_BLOB,
7213     pub cTransform: u32,
7214     pub rgTransform: *mut CRYPT_XML_ALGORITHM,
7215 }
7216 #[cfg(feature = "Win32_Foundation")]
7217 impl ::core::marker::Copy for CRYPT_XML_REFERENCE {}
7218 #[cfg(feature = "Win32_Foundation")]
7219 impl ::core::clone::Clone for CRYPT_XML_REFERENCE {
clone(&self) -> Self7220     fn clone(&self) -> Self {
7221         *self
7222     }
7223 }
7224 #[repr(C)]
7225 #[cfg(feature = "Win32_Foundation")]
7226 pub struct CRYPT_XML_REFERENCES {
7227     pub cReference: u32,
7228     pub rgpReference: *mut *mut CRYPT_XML_REFERENCE,
7229 }
7230 #[cfg(feature = "Win32_Foundation")]
7231 impl ::core::marker::Copy for CRYPT_XML_REFERENCES {}
7232 #[cfg(feature = "Win32_Foundation")]
7233 impl ::core::clone::Clone for CRYPT_XML_REFERENCES {
clone(&self) -> Self7234     fn clone(&self) -> Self {
7235         *self
7236     }
7237 }
7238 pub const CRYPT_XML_REFERENCES_MAX: u32 = 32760u32;
7239 #[repr(C)]
7240 #[cfg(feature = "Win32_Foundation")]
7241 pub struct CRYPT_XML_SIGNATURE {
7242     pub cbSize: u32,
7243     pub hSignature: *mut ::core::ffi::c_void,
7244     pub wszId: super::super::Foundation::PWSTR,
7245     pub SignedInfo: CRYPT_XML_SIGNED_INFO,
7246     pub SignatureValue: CRYPTOAPI_BLOB,
7247     pub pKeyInfo: *mut CRYPT_XML_KEY_INFO,
7248     pub cObject: u32,
7249     pub rgpObject: *mut *mut CRYPT_XML_OBJECT,
7250 }
7251 #[cfg(feature = "Win32_Foundation")]
7252 impl ::core::marker::Copy for CRYPT_XML_SIGNATURE {}
7253 #[cfg(feature = "Win32_Foundation")]
7254 impl ::core::clone::Clone for CRYPT_XML_SIGNATURE {
clone(&self) -> Self7255     fn clone(&self) -> Self {
7256         *self
7257     }
7258 }
7259 pub const CRYPT_XML_SIGNATURES_MAX: u32 = 16u32;
7260 pub const CRYPT_XML_SIGNATURE_VALUE_MAX: u32 = 2048u32;
7261 #[repr(C)]
7262 #[cfg(feature = "Win32_Foundation")]
7263 pub struct CRYPT_XML_SIGNED_INFO {
7264     pub cbSize: u32,
7265     pub wszId: super::super::Foundation::PWSTR,
7266     pub Canonicalization: CRYPT_XML_ALGORITHM,
7267     pub SignatureMethod: CRYPT_XML_ALGORITHM,
7268     pub cReference: u32,
7269     pub rgpReference: *mut *mut CRYPT_XML_REFERENCE,
7270     pub Encoded: CRYPT_XML_BLOB,
7271 }
7272 #[cfg(feature = "Win32_Foundation")]
7273 impl ::core::marker::Copy for CRYPT_XML_SIGNED_INFO {}
7274 #[cfg(feature = "Win32_Foundation")]
7275 impl ::core::clone::Clone for CRYPT_XML_SIGNED_INFO {
clone(&self) -> Self7276     fn clone(&self) -> Self {
7277         *self
7278     }
7279 }
7280 #[repr(C)]
7281 pub struct CRYPT_XML_STATUS {
7282     pub cbSize: u32,
7283     pub dwErrorStatus: CRYPT_XML_STATUS_ERROR_STATUS,
7284     pub dwInfoStatus: CRYPT_XML_STATUS_INFO_STATUS,
7285 }
7286 impl ::core::marker::Copy for CRYPT_XML_STATUS {}
7287 impl ::core::clone::Clone for CRYPT_XML_STATUS {
clone(&self) -> Self7288     fn clone(&self) -> Self {
7289         *self
7290     }
7291 }
7292 pub type CRYPT_XML_STATUS_ERROR_STATUS = u32;
7293 pub const CRYPT_XML_STATUS_ERROR_NOT_RESOLVED: CRYPT_XML_STATUS_ERROR_STATUS = 1u32;
7294 pub const CRYPT_XML_STATUS_ERROR_DIGEST_INVALID: CRYPT_XML_STATUS_ERROR_STATUS = 2u32;
7295 pub const CRYPT_XML_STATUS_ERROR_NOT_SUPPORTED_ALGORITHM: CRYPT_XML_STATUS_ERROR_STATUS = 5u32;
7296 pub const CRYPT_XML_STATUS_ERROR_NOT_SUPPORTED_TRANSFORM: CRYPT_XML_STATUS_ERROR_STATUS = 8u32;
7297 pub const CRYPT_XML_STATUS_ERROR_SIGNATURE_INVALID: CRYPT_XML_STATUS_ERROR_STATUS = 65536u32;
7298 pub const CRYPT_XML_STATUS_ERROR_KEYINFO_NOT_PARSED: CRYPT_XML_STATUS_ERROR_STATUS = 131072u32;
7299 pub type CRYPT_XML_STATUS_INFO_STATUS = u32;
7300 pub const CRYPT_XML_STATUS_INTERNAL_REFERENCE: CRYPT_XML_STATUS_INFO_STATUS = 1u32;
7301 pub const CRYPT_XML_STATUS_KEY_AVAILABLE: CRYPT_XML_STATUS_INFO_STATUS = 2u32;
7302 pub const CRYPT_XML_STATUS_DIGESTING: CRYPT_XML_STATUS_INFO_STATUS = 4u32;
7303 pub const CRYPT_XML_STATUS_DIGEST_VALID: CRYPT_XML_STATUS_INFO_STATUS = 8u32;
7304 pub const CRYPT_XML_STATUS_SIGNATURE_VALID: CRYPT_XML_STATUS_INFO_STATUS = 65536u32;
7305 pub const CRYPT_XML_STATUS_OPENED_TO_ENCODE: CRYPT_XML_STATUS_INFO_STATUS = 2147483648u32;
7306 pub const CRYPT_XML_STATUS_NO_ERROR: u32 = 0u32;
7307 #[repr(C)]
7308 #[cfg(feature = "Win32_Foundation")]
7309 pub struct CRYPT_XML_TRANSFORM_CHAIN_CONFIG {
7310     pub cbSize: u32,
7311     pub cTransformInfo: u32,
7312     pub rgpTransformInfo: *mut *mut CRYPT_XML_TRANSFORM_INFO,
7313 }
7314 #[cfg(feature = "Win32_Foundation")]
7315 impl ::core::marker::Copy for CRYPT_XML_TRANSFORM_CHAIN_CONFIG {}
7316 #[cfg(feature = "Win32_Foundation")]
7317 impl ::core::clone::Clone for CRYPT_XML_TRANSFORM_CHAIN_CONFIG {
clone(&self) -> Self7318     fn clone(&self) -> Self {
7319         *self
7320     }
7321 }
7322 pub type CRYPT_XML_TRANSFORM_FLAGS = u32;
7323 pub const CRYPT_XML_TRANSFORM_ON_STREAM: CRYPT_XML_TRANSFORM_FLAGS = 1u32;
7324 pub const CRYPT_XML_TRANSFORM_ON_NODESET: CRYPT_XML_TRANSFORM_FLAGS = 2u32;
7325 pub const CRYPT_XML_TRANSFORM_URI_QUERY_STRING: CRYPT_XML_TRANSFORM_FLAGS = 3u32;
7326 #[repr(C)]
7327 #[cfg(feature = "Win32_Foundation")]
7328 pub struct CRYPT_XML_TRANSFORM_INFO {
7329     pub cbSize: u32,
7330     pub wszAlgorithm: super::super::Foundation::PWSTR,
7331     pub cbBufferSize: u32,
7332     pub dwFlags: CRYPT_XML_TRANSFORM_FLAGS,
7333     pub pfnCreateTransform: PFN_CRYPT_XML_CREATE_TRANSFORM,
7334 }
7335 #[cfg(feature = "Win32_Foundation")]
7336 impl ::core::marker::Copy for CRYPT_XML_TRANSFORM_INFO {}
7337 #[cfg(feature = "Win32_Foundation")]
7338 impl ::core::clone::Clone for CRYPT_XML_TRANSFORM_INFO {
clone(&self) -> Self7339     fn clone(&self) -> Self {
7340         *self
7341     }
7342 }
7343 pub const CRYPT_XML_TRANSFORM_MAX: u32 = 16u32;
7344 #[repr(C)]
7345 #[cfg(feature = "Win32_Foundation")]
7346 pub struct CRYPT_XML_X509DATA {
7347     pub cX509Data: u32,
7348     pub rgX509Data: *mut CRYPT_XML_X509DATA_ITEM,
7349 }
7350 #[cfg(feature = "Win32_Foundation")]
7351 impl ::core::marker::Copy for CRYPT_XML_X509DATA {}
7352 #[cfg(feature = "Win32_Foundation")]
7353 impl ::core::clone::Clone for CRYPT_XML_X509DATA {
clone(&self) -> Self7354     fn clone(&self) -> Self {
7355         *self
7356     }
7357 }
7358 #[repr(C)]
7359 #[cfg(feature = "Win32_Foundation")]
7360 pub struct CRYPT_XML_X509DATA_ITEM {
7361     pub dwType: CRYPT_XML_X509DATA_TYPE,
7362     pub Anonymous: CRYPT_XML_X509DATA_ITEM_0,
7363 }
7364 #[cfg(feature = "Win32_Foundation")]
7365 impl ::core::marker::Copy for CRYPT_XML_X509DATA_ITEM {}
7366 #[cfg(feature = "Win32_Foundation")]
7367 impl ::core::clone::Clone for CRYPT_XML_X509DATA_ITEM {
clone(&self) -> Self7368     fn clone(&self) -> Self {
7369         *self
7370     }
7371 }
7372 #[repr(C)]
7373 #[cfg(feature = "Win32_Foundation")]
7374 pub union CRYPT_XML_X509DATA_ITEM_0 {
7375     pub IssuerSerial: CRYPT_XML_ISSUER_SERIAL,
7376     pub SKI: CRYPT_XML_DATA_BLOB,
7377     pub wszSubjectName: super::super::Foundation::PWSTR,
7378     pub Certificate: CRYPT_XML_DATA_BLOB,
7379     pub CRL: CRYPT_XML_DATA_BLOB,
7380     pub Custom: CRYPT_XML_BLOB,
7381 }
7382 #[cfg(feature = "Win32_Foundation")]
7383 impl ::core::marker::Copy for CRYPT_XML_X509DATA_ITEM_0 {}
7384 #[cfg(feature = "Win32_Foundation")]
7385 impl ::core::clone::Clone for CRYPT_XML_X509DATA_ITEM_0 {
clone(&self) -> Self7386     fn clone(&self) -> Self {
7387         *self
7388     }
7389 }
7390 pub type CRYPT_XML_X509DATA_TYPE = u32;
7391 pub const CRYPT_XML_X509DATA_TYPE_ISSUER_SERIAL: CRYPT_XML_X509DATA_TYPE = 1u32;
7392 pub const CRYPT_XML_X509DATA_TYPE_SKI: CRYPT_XML_X509DATA_TYPE = 2u32;
7393 pub const CRYPT_XML_X509DATA_TYPE_SUBJECT_NAME: CRYPT_XML_X509DATA_TYPE = 3u32;
7394 pub const CRYPT_XML_X509DATA_TYPE_CERTIFICATE: CRYPT_XML_X509DATA_TYPE = 4u32;
7395 pub const CRYPT_XML_X509DATA_TYPE_CRL: CRYPT_XML_X509DATA_TYPE = 5u32;
7396 pub const CRYPT_XML_X509DATA_TYPE_CUSTOM: CRYPT_XML_X509DATA_TYPE = 6u32;
7397 #[repr(C)]
7398 #[cfg(feature = "Win32_Foundation")]
7399 pub struct CTL_ANY_SUBJECT_INFO {
7400     pub SubjectAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
7401     pub SubjectIdentifier: CRYPTOAPI_BLOB,
7402 }
7403 #[cfg(feature = "Win32_Foundation")]
7404 impl ::core::marker::Copy for CTL_ANY_SUBJECT_INFO {}
7405 #[cfg(feature = "Win32_Foundation")]
7406 impl ::core::clone::Clone for CTL_ANY_SUBJECT_INFO {
clone(&self) -> Self7407     fn clone(&self) -> Self {
7408         *self
7409     }
7410 }
7411 pub const CTL_ANY_SUBJECT_TYPE: u32 = 1u32;
7412 pub const CTL_CERT_SUBJECT_TYPE: u32 = 2u32;
7413 #[repr(C)]
7414 #[cfg(feature = "Win32_Foundation")]
7415 pub struct CTL_CONTEXT {
7416     pub dwMsgAndCertEncodingType: u32,
7417     pub pbCtlEncoded: *mut u8,
7418     pub cbCtlEncoded: u32,
7419     pub pCtlInfo: *mut CTL_INFO,
7420     pub hCertStore: *mut ::core::ffi::c_void,
7421     pub hCryptMsg: *mut ::core::ffi::c_void,
7422     pub pbCtlContent: *mut u8,
7423     pub cbCtlContent: u32,
7424 }
7425 #[cfg(feature = "Win32_Foundation")]
7426 impl ::core::marker::Copy for CTL_CONTEXT {}
7427 #[cfg(feature = "Win32_Foundation")]
7428 impl ::core::clone::Clone for CTL_CONTEXT {
clone(&self) -> Self7429     fn clone(&self) -> Self {
7430         *self
7431     }
7432 }
7433 #[repr(C)]
7434 #[cfg(feature = "Win32_Foundation")]
7435 pub struct CTL_ENTRY {
7436     pub SubjectIdentifier: CRYPTOAPI_BLOB,
7437     pub cAttribute: u32,
7438     pub rgAttribute: *mut CRYPT_ATTRIBUTE,
7439 }
7440 #[cfg(feature = "Win32_Foundation")]
7441 impl ::core::marker::Copy for CTL_ENTRY {}
7442 #[cfg(feature = "Win32_Foundation")]
7443 impl ::core::clone::Clone for CTL_ENTRY {
clone(&self) -> Self7444     fn clone(&self) -> Self {
7445         *self
7446     }
7447 }
7448 pub const CTL_ENTRY_FROM_PROP_CHAIN_FLAG: u32 = 1u32;
7449 pub const CTL_FIND_NO_LIST_ID_CBDATA: u32 = 4294967295u32;
7450 #[repr(C)]
7451 #[cfg(feature = "Win32_Foundation")]
7452 pub struct CTL_FIND_SUBJECT_PARA {
7453     pub cbSize: u32,
7454     pub pUsagePara: *mut CTL_FIND_USAGE_PARA,
7455     pub dwSubjectType: u32,
7456     pub pvSubject: *mut ::core::ffi::c_void,
7457 }
7458 #[cfg(feature = "Win32_Foundation")]
7459 impl ::core::marker::Copy for CTL_FIND_SUBJECT_PARA {}
7460 #[cfg(feature = "Win32_Foundation")]
7461 impl ::core::clone::Clone for CTL_FIND_SUBJECT_PARA {
clone(&self) -> Self7462     fn clone(&self) -> Self {
7463         *self
7464     }
7465 }
7466 #[repr(C)]
7467 #[cfg(feature = "Win32_Foundation")]
7468 pub struct CTL_FIND_USAGE_PARA {
7469     pub cbSize: u32,
7470     pub SubjectUsage: CTL_USAGE,
7471     pub ListIdentifier: CRYPTOAPI_BLOB,
7472     pub pSigner: *mut CERT_INFO,
7473 }
7474 #[cfg(feature = "Win32_Foundation")]
7475 impl ::core::marker::Copy for CTL_FIND_USAGE_PARA {}
7476 #[cfg(feature = "Win32_Foundation")]
7477 impl ::core::clone::Clone for CTL_FIND_USAGE_PARA {
clone(&self) -> Self7478     fn clone(&self) -> Self {
7479         *self
7480     }
7481 }
7482 #[repr(C)]
7483 #[cfg(feature = "Win32_Foundation")]
7484 pub struct CTL_INFO {
7485     pub dwVersion: u32,
7486     pub SubjectUsage: CTL_USAGE,
7487     pub ListIdentifier: CRYPTOAPI_BLOB,
7488     pub SequenceNumber: CRYPTOAPI_BLOB,
7489     pub ThisUpdate: super::super::Foundation::FILETIME,
7490     pub NextUpdate: super::super::Foundation::FILETIME,
7491     pub SubjectAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
7492     pub cCTLEntry: u32,
7493     pub rgCTLEntry: *mut CTL_ENTRY,
7494     pub cExtension: u32,
7495     pub rgExtension: *mut CERT_EXTENSION,
7496 }
7497 #[cfg(feature = "Win32_Foundation")]
7498 impl ::core::marker::Copy for CTL_INFO {}
7499 #[cfg(feature = "Win32_Foundation")]
7500 impl ::core::clone::Clone for CTL_INFO {
clone(&self) -> Self7501     fn clone(&self) -> Self {
7502         *self
7503     }
7504 }
7505 #[repr(C)]
7506 #[cfg(feature = "Win32_Foundation")]
7507 pub struct CTL_USAGE {
7508     pub cUsageIdentifier: u32,
7509     pub rgpszUsageIdentifier: *mut super::super::Foundation::PSTR,
7510 }
7511 #[cfg(feature = "Win32_Foundation")]
7512 impl ::core::marker::Copy for CTL_USAGE {}
7513 #[cfg(feature = "Win32_Foundation")]
7514 impl ::core::clone::Clone for CTL_USAGE {
clone(&self) -> Self7515     fn clone(&self) -> Self {
7516         *self
7517     }
7518 }
7519 #[repr(C)]
7520 #[cfg(feature = "Win32_Foundation")]
7521 pub struct CTL_USAGE_MATCH {
7522     pub dwType: u32,
7523     pub Usage: CTL_USAGE,
7524 }
7525 #[cfg(feature = "Win32_Foundation")]
7526 impl ::core::marker::Copy for CTL_USAGE_MATCH {}
7527 #[cfg(feature = "Win32_Foundation")]
7528 impl ::core::clone::Clone for CTL_USAGE_MATCH {
clone(&self) -> Self7529     fn clone(&self) -> Self {
7530         *self
7531     }
7532 }
7533 pub const CTL_V1: u32 = 0u32;
7534 #[repr(C)]
7535 pub struct CTL_VERIFY_USAGE_PARA {
7536     pub cbSize: u32,
7537     pub ListIdentifier: CRYPTOAPI_BLOB,
7538     pub cCtlStore: u32,
7539     pub rghCtlStore: *mut *mut ::core::ffi::c_void,
7540     pub cSignerStore: u32,
7541     pub rghSignerStore: *mut *mut ::core::ffi::c_void,
7542 }
7543 impl ::core::marker::Copy for CTL_VERIFY_USAGE_PARA {}
7544 impl ::core::clone::Clone for CTL_VERIFY_USAGE_PARA {
clone(&self) -> Self7545     fn clone(&self) -> Self {
7546         *self
7547     }
7548 }
7549 #[repr(C)]
7550 #[cfg(feature = "Win32_Foundation")]
7551 pub struct CTL_VERIFY_USAGE_STATUS {
7552     pub cbSize: u32,
7553     pub dwError: u32,
7554     pub dwFlags: u32,
7555     pub ppCtl: *mut *mut CTL_CONTEXT,
7556     pub dwCtlEntryIndex: u32,
7557     pub ppSigner: *mut *mut CERT_CONTEXT,
7558     pub dwSignerIndex: u32,
7559 }
7560 #[cfg(feature = "Win32_Foundation")]
7561 impl ::core::marker::Copy for CTL_VERIFY_USAGE_STATUS {}
7562 #[cfg(feature = "Win32_Foundation")]
7563 impl ::core::clone::Clone for CTL_VERIFY_USAGE_STATUS {
clone(&self) -> Self7564     fn clone(&self) -> Self {
7565         *self
7566     }
7567 }
7568 pub const CUR_BLOB_VERSION: u32 = 2u32;
7569 pub type CertKeyType = u32;
7570 pub const KeyTypeOther: CertKeyType = 0u32;
7571 pub const KeyTypeVirtualSmartCard: CertKeyType = 1u32;
7572 pub const KeyTypePhysicalSmartCard: CertKeyType = 2u32;
7573 pub const KeyTypePassport: CertKeyType = 3u32;
7574 pub const KeyTypePassportRemote: CertKeyType = 4u32;
7575 pub const KeyTypePassportSmartCard: CertKeyType = 5u32;
7576 pub const KeyTypeHardware: CertKeyType = 6u32;
7577 pub const KeyTypeSoftware: CertKeyType = 7u32;
7578 pub const KeyTypeSelfSigned: CertKeyType = 8u32;
7579 pub type CryptXmlDllCloseDigest = unsafe extern "system" fn(hdigest: *const ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
7580 #[cfg(feature = "Win32_Foundation")]
7581 pub type CryptXmlDllCreateDigest = unsafe extern "system" fn(pdigestmethod: *const CRYPT_XML_ALGORITHM, pcbsize: *mut u32, phdigest: *mut *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
7582 pub type CryptXmlDllCreateKey = unsafe extern "system" fn(pencoded: *const CRYPT_XML_BLOB, phkey: *mut BCRYPT_KEY_HANDLE) -> ::windows_sys::core::HRESULT;
7583 pub type CryptXmlDllDigestData = unsafe extern "system" fn(hdigest: *const ::core::ffi::c_void, pbdata: *const u8, cbdata: u32) -> ::windows_sys::core::HRESULT;
7584 #[cfg(feature = "Win32_Foundation")]
7585 pub type CryptXmlDllEncodeAlgorithm = unsafe extern "system" fn(palginfo: *const CRYPT_XML_ALGORITHM_INFO, dwcharset: CRYPT_XML_CHARSET, pvcallbackstate: *mut ::core::ffi::c_void, pfnwrite: ::core::option::Option<PFN_CRYPT_XML_WRITE_CALLBACK>) -> ::windows_sys::core::HRESULT;
7586 pub type CryptXmlDllEncodeKeyValue = unsafe extern "system" fn(hkey: usize, dwcharset: CRYPT_XML_CHARSET, pvcallbackstate: *mut ::core::ffi::c_void, pfnwrite: ::core::option::Option<PFN_CRYPT_XML_WRITE_CALLBACK>) -> ::windows_sys::core::HRESULT;
7587 pub type CryptXmlDllFinalizeDigest = unsafe extern "system" fn(hdigest: *const ::core::ffi::c_void, pbdigest: *mut u8, cbdigest: u32) -> ::windows_sys::core::HRESULT;
7588 #[cfg(feature = "Win32_Foundation")]
7589 pub type CryptXmlDllGetAlgorithmInfo = unsafe extern "system" fn(pxmlalgorithm: *const CRYPT_XML_ALGORITHM, ppalginfo: *mut *mut CRYPT_XML_ALGORITHM_INFO) -> ::windows_sys::core::HRESULT;
7590 #[cfg(feature = "Win32_Foundation")]
7591 pub type CryptXmlDllGetInterface = unsafe extern "system" fn(dwflags: u32, pmethod: *const CRYPT_XML_ALGORITHM_INFO, pinterface: *mut CRYPT_XML_CRYPTOGRAPHIC_INTERFACE) -> ::windows_sys::core::HRESULT;
7592 #[cfg(feature = "Win32_Foundation")]
7593 pub type CryptXmlDllSignData = unsafe extern "system" fn(psignaturemethod: *const CRYPT_XML_ALGORITHM, hcryptprovorncryptkey: usize, dwkeyspec: u32, pbinput: *const u8, cbinput: u32, pboutput: *mut u8, cboutput: u32, pcbresult: *mut u32) -> ::windows_sys::core::HRESULT;
7594 #[cfg(feature = "Win32_Foundation")]
7595 pub type CryptXmlDllVerifySignature = unsafe extern "system" fn(psignaturemethod: *const CRYPT_XML_ALGORITHM, hkey: BCRYPT_KEY_HANDLE, pbinput: *const u8, cbinput: u32, pbsignature: *const u8, cbsignature: u32) -> ::windows_sys::core::HRESULT;
7596 pub type DSAFIPSVERSION_ENUM = i32;
7597 pub const DSA_FIPS186_2: DSAFIPSVERSION_ENUM = 0i32;
7598 pub const DSA_FIPS186_3: DSAFIPSVERSION_ENUM = 1i32;
7599 #[repr(C)]
7600 pub struct DSSSEED {
7601     pub counter: u32,
7602     pub seed: [u8; 20],
7603 }
7604 impl ::core::marker::Copy for DSSSEED {}
7605 impl ::core::clone::Clone for DSSSEED {
clone(&self) -> Self7606     fn clone(&self) -> Self {
7607         *self
7608     }
7609 }
7610 pub type Direction = i32;
7611 pub const DirectionEncrypt: Direction = 1i32;
7612 pub const DirectionDecrypt: Direction = 2i32;
7613 pub type ECC_CURVE_ALG_ID_ENUM = i32;
7614 pub const BCRYPT_NO_CURVE_GENERATION_ALG_ID: ECC_CURVE_ALG_ID_ENUM = 0i32;
7615 pub type ECC_CURVE_TYPE_ENUM = i32;
7616 pub const BCRYPT_ECC_PRIME_SHORT_WEIERSTRASS_CURVE: ECC_CURVE_TYPE_ENUM = 1i32;
7617 pub const BCRYPT_ECC_PRIME_TWISTED_EDWARDS_CURVE: ECC_CURVE_TYPE_ENUM = 2i32;
7618 pub const BCRYPT_ECC_PRIME_MONTGOMERY_CURVE: ECC_CURVE_TYPE_ENUM = 3i32;
7619 #[repr(C)]
7620 #[cfg(feature = "Win32_Foundation")]
7621 pub struct ENDPOINTADDRESS {
7622     pub serviceUrl: super::super::Foundation::PWSTR,
7623     pub policyUrl: super::super::Foundation::PWSTR,
7624     pub rawCertificate: CRYPTOAPI_BLOB,
7625 }
7626 #[cfg(feature = "Win32_Foundation")]
7627 impl ::core::marker::Copy for ENDPOINTADDRESS {}
7628 #[cfg(feature = "Win32_Foundation")]
7629 impl ::core::clone::Clone for ENDPOINTADDRESS {
clone(&self) -> Self7630     fn clone(&self) -> Self {
7631         *self
7632     }
7633 }
7634 #[repr(C)]
7635 #[cfg(feature = "Win32_Foundation")]
7636 pub struct ENDPOINTADDRESS2 {
7637     pub serviceUrl: super::super::Foundation::PWSTR,
7638     pub policyUrl: super::super::Foundation::PWSTR,
7639     pub identityType: u32,
7640     pub identityBytes: *mut ::core::ffi::c_void,
7641 }
7642 #[cfg(feature = "Win32_Foundation")]
7643 impl ::core::marker::Copy for ENDPOINTADDRESS2 {}
7644 #[cfg(feature = "Win32_Foundation")]
7645 impl ::core::clone::Clone for ENDPOINTADDRESS2 {
clone(&self) -> Self7646     fn clone(&self) -> Self {
7647         *self
7648     }
7649 }
7650 #[repr(C)]
7651 pub struct EV_EXTRA_CERT_CHAIN_POLICY_PARA {
7652     pub cbSize: u32,
7653     pub dwRootProgramQualifierFlags: CERT_ROOT_PROGRAM_FLAGS,
7654 }
7655 impl ::core::marker::Copy for EV_EXTRA_CERT_CHAIN_POLICY_PARA {}
7656 impl ::core::clone::Clone for EV_EXTRA_CERT_CHAIN_POLICY_PARA {
clone(&self) -> Self7657     fn clone(&self) -> Self {
7658         *self
7659     }
7660 }
7661 #[repr(C)]
7662 pub struct EV_EXTRA_CERT_CHAIN_POLICY_STATUS {
7663     pub cbSize: u32,
7664     pub dwQualifiers: u32,
7665     pub dwIssuanceUsageIndex: u32,
7666 }
7667 impl ::core::marker::Copy for EV_EXTRA_CERT_CHAIN_POLICY_STATUS {}
7668 impl ::core::clone::Clone for EV_EXTRA_CERT_CHAIN_POLICY_STATUS {
clone(&self) -> Self7669     fn clone(&self) -> Self {
7670         *self
7671     }
7672 }
7673 pub const EXPORT_PRIVATE_KEYS: u32 = 4u32;
7674 pub const E_ICARD_ARGUMENT: ::windows_sys::core::HRESULT = -1073413883i32;
7675 pub const E_ICARD_COMMUNICATION: ::windows_sys::core::HRESULT = -1073413888i32;
7676 pub const E_ICARD_DATA_ACCESS: ::windows_sys::core::HRESULT = -1073413887i32;
7677 pub const E_ICARD_EXPORT: ::windows_sys::core::HRESULT = -1073413886i32;
7678 pub const E_ICARD_FAIL: ::windows_sys::core::HRESULT = -1073413867i32;
7679 pub const E_ICARD_FAILED_REQUIRED_CLAIMS: ::windows_sys::core::HRESULT = -1073413756i32;
7680 pub const E_ICARD_IDENTITY: ::windows_sys::core::HRESULT = -1073413885i32;
7681 pub const E_ICARD_IMPORT: ::windows_sys::core::HRESULT = -1073413884i32;
7682 pub const E_ICARD_INFORMATIONCARD: ::windows_sys::core::HRESULT = -1073413881i32;
7683 pub const E_ICARD_INVALID_PROOF_KEY: ::windows_sys::core::HRESULT = -1073413758i32;
7684 pub const E_ICARD_LOGOVALIDATION: ::windows_sys::core::HRESULT = -1073413879i32;
7685 pub const E_ICARD_MISSING_APPLIESTO: ::windows_sys::core::HRESULT = -1073413759i32;
7686 pub const E_ICARD_PASSWORDVALIDATION: ::windows_sys::core::HRESULT = -1073413878i32;
7687 pub const E_ICARD_POLICY: ::windows_sys::core::HRESULT = -1073413877i32;
7688 pub const E_ICARD_PROCESSDIED: ::windows_sys::core::HRESULT = -1073413876i32;
7689 pub const E_ICARD_REFRESH_REQUIRED: ::windows_sys::core::HRESULT = -1073413760i32;
7690 pub const E_ICARD_REQUEST: ::windows_sys::core::HRESULT = -1073413882i32;
7691 pub const E_ICARD_SERVICE: ::windows_sys::core::HRESULT = -1073413874i32;
7692 pub const E_ICARD_SERVICEBUSY: ::windows_sys::core::HRESULT = -1073413875i32;
7693 pub const E_ICARD_SHUTTINGDOWN: ::windows_sys::core::HRESULT = -1073413873i32;
7694 pub const E_ICARD_STOREKEY: ::windows_sys::core::HRESULT = -1073413880i32;
7695 pub const E_ICARD_STORE_IMPORT: ::windows_sys::core::HRESULT = -1073413868i32;
7696 pub const E_ICARD_TOKENCREATION: ::windows_sys::core::HRESULT = -1073413872i32;
7697 pub const E_ICARD_TRUSTEXCHANGE: ::windows_sys::core::HRESULT = -1073413871i32;
7698 pub const E_ICARD_UI_INITIALIZATION: ::windows_sys::core::HRESULT = -1073413862i32;
7699 pub const E_ICARD_UNKNOWN_REFERENCE: ::windows_sys::core::HRESULT = -1073413757i32;
7700 pub const E_ICARD_UNTRUSTED: ::windows_sys::core::HRESULT = -1073413870i32;
7701 pub const E_ICARD_USERCANCELLED: ::windows_sys::core::HRESULT = -1073413869i32;
7702 #[repr(C, packed(1))]
7703 #[cfg(feature = "Win32_Foundation")]
7704 pub struct GENERIC_XML_TOKEN {
7705     pub createDate: super::super::Foundation::FILETIME,
7706     pub expiryDate: super::super::Foundation::FILETIME,
7707     pub xmlToken: super::super::Foundation::PWSTR,
7708     pub internalTokenReference: super::super::Foundation::PWSTR,
7709     pub externalTokenReference: super::super::Foundation::PWSTR,
7710 }
7711 #[cfg(feature = "Win32_Foundation")]
7712 impl ::core::marker::Copy for GENERIC_XML_TOKEN {}
7713 #[cfg(feature = "Win32_Foundation")]
7714 impl ::core::clone::Clone for GENERIC_XML_TOKEN {
clone(&self) -> Self7715     fn clone(&self) -> Self {
7716         *self
7717     }
7718 }
7719 pub type HASHALGORITHM_ENUM = i32;
7720 pub const DSA_HASH_ALGORITHM_SHA1: HASHALGORITHM_ENUM = 0i32;
7721 pub const DSA_HASH_ALGORITHM_SHA256: HASHALGORITHM_ENUM = 1i32;
7722 pub const DSA_HASH_ALGORITHM_SHA512: HASHALGORITHM_ENUM = 2i32;
7723 pub type HCERTCHAINENGINE = isize;
7724 pub type HCRYPTASYNC = isize;
7725 #[repr(C)]
7726 pub struct HMAC_Info {
7727     pub HashAlgid: u32,
7728     pub pbInnerString: *mut u8,
7729     pub cbInnerString: u32,
7730     pub pbOuterString: *mut u8,
7731     pub cbOuterString: u32,
7732 }
7733 impl ::core::marker::Copy for HMAC_Info {}
7734 impl ::core::clone::Clone for HMAC_Info {
clone(&self) -> Self7735     fn clone(&self) -> Self {
7736         *self
7737     }
7738 }
7739 pub const HP_ALGID: u32 = 1u32;
7740 pub const HP_HASHSIZE: u32 = 4u32;
7741 pub const HP_TLS1PRF_LABEL: u32 = 6u32;
7742 pub const HP_TLS1PRF_SEED: u32 = 7u32;
7743 pub type HTTPSPOLICY_CALLBACK_DATA_AUTH_TYPE = u32;
7744 pub const AUTHTYPE_CLIENT: HTTPSPOLICY_CALLBACK_DATA_AUTH_TYPE = 1u32;
7745 pub const AUTHTYPE_SERVER: HTTPSPOLICY_CALLBACK_DATA_AUTH_TYPE = 2u32;
7746 #[repr(C)]
7747 #[cfg(feature = "Win32_Foundation")]
7748 pub struct HTTPSPolicyCallbackData {
7749     pub Anonymous: HTTPSPolicyCallbackData_0,
7750     pub dwAuthType: HTTPSPOLICY_CALLBACK_DATA_AUTH_TYPE,
7751     pub fdwChecks: u32,
7752     pub pwszServerName: super::super::Foundation::PWSTR,
7753 }
7754 #[cfg(feature = "Win32_Foundation")]
7755 impl ::core::marker::Copy for HTTPSPolicyCallbackData {}
7756 #[cfg(feature = "Win32_Foundation")]
7757 impl ::core::clone::Clone for HTTPSPolicyCallbackData {
clone(&self) -> Self7758     fn clone(&self) -> Self {
7759         *self
7760     }
7761 }
7762 #[repr(C)]
7763 #[cfg(feature = "Win32_Foundation")]
7764 pub union HTTPSPolicyCallbackData_0 {
7765     pub cbStruct: u32,
7766     pub cbSize: u32,
7767 }
7768 #[cfg(feature = "Win32_Foundation")]
7769 impl ::core::marker::Copy for HTTPSPolicyCallbackData_0 {}
7770 #[cfg(feature = "Win32_Foundation")]
7771 impl ::core::clone::Clone for HTTPSPolicyCallbackData_0 {
clone(&self) -> Self7772     fn clone(&self) -> Self {
7773         *self
7774     }
7775 }
7776 #[repr(transparent)]
7777 pub struct HandleType(pub i32);
7778 impl HandleType {
7779     pub const Asymmetric: Self = Self(1i32);
7780     pub const Symmetric: Self = Self(2i32);
7781     pub const Transform: Self = Self(3i32);
7782     pub const Hash: Self = Self(4i32);
7783 }
7784 impl ::core::marker::Copy for HandleType {}
7785 impl ::core::clone::Clone for HandleType {
clone(&self) -> Self7786     fn clone(&self) -> Self {
7787         *self
7788     }
7789 }
7790 pub type ICertSrvSetup = *mut ::core::ffi::c_void;
7791 pub type ICertSrvSetupKeyInformation = *mut ::core::ffi::c_void;
7792 pub type ICertSrvSetupKeyInformationCollection = *mut ::core::ffi::c_void;
7793 pub type ICertificateEnrollmentPolicyServerSetup = *mut ::core::ffi::c_void;
7794 pub type ICertificateEnrollmentServerSetup = *mut ::core::ffi::c_void;
7795 pub const IFX_RSA_KEYGEN_VUL_AFFECTED_LEVEL_1: u32 = 1u32;
7796 pub const IFX_RSA_KEYGEN_VUL_AFFECTED_LEVEL_2: u32 = 2u32;
7797 pub const IFX_RSA_KEYGEN_VUL_NOT_AFFECTED: u32 = 0u32;
7798 pub type IMSCEPSetup = *mut ::core::ffi::c_void;
7799 #[repr(C)]
7800 #[cfg(feature = "Win32_Foundation")]
7801 pub struct INFORMATIONCARD_ASYMMETRIC_CRYPTO_PARAMETERS {
7802     pub keySize: i32,
7803     pub keyExchangeAlgorithm: super::super::Foundation::PWSTR,
7804     pub signatureAlgorithm: super::super::Foundation::PWSTR,
7805 }
7806 #[cfg(feature = "Win32_Foundation")]
7807 impl ::core::marker::Copy for INFORMATIONCARD_ASYMMETRIC_CRYPTO_PARAMETERS {}
7808 #[cfg(feature = "Win32_Foundation")]
7809 impl ::core::clone::Clone for INFORMATIONCARD_ASYMMETRIC_CRYPTO_PARAMETERS {
clone(&self) -> Self7810     fn clone(&self) -> Self {
7811         *self
7812     }
7813 }
7814 #[repr(C)]
7815 pub struct INFORMATIONCARD_CRYPTO_HANDLE {
7816     pub r#type: HandleType,
7817     pub expiration: i64,
7818     pub cryptoParameters: *mut ::core::ffi::c_void,
7819 }
7820 impl ::core::marker::Copy for INFORMATIONCARD_CRYPTO_HANDLE {}
7821 impl ::core::clone::Clone for INFORMATIONCARD_CRYPTO_HANDLE {
clone(&self) -> Self7822     fn clone(&self) -> Self {
7823         *self
7824     }
7825 }
7826 #[repr(C)]
7827 #[cfg(feature = "Win32_Foundation")]
7828 pub struct INFORMATIONCARD_HASH_CRYPTO_PARAMETERS {
7829     pub hashSize: i32,
7830     pub transform: INFORMATIONCARD_TRANSFORM_CRYPTO_PARAMETERS,
7831 }
7832 #[cfg(feature = "Win32_Foundation")]
7833 impl ::core::marker::Copy for INFORMATIONCARD_HASH_CRYPTO_PARAMETERS {}
7834 #[cfg(feature = "Win32_Foundation")]
7835 impl ::core::clone::Clone for INFORMATIONCARD_HASH_CRYPTO_PARAMETERS {
clone(&self) -> Self7836     fn clone(&self) -> Self {
7837         *self
7838     }
7839 }
7840 #[repr(C)]
7841 pub struct INFORMATIONCARD_SYMMETRIC_CRYPTO_PARAMETERS {
7842     pub keySize: i32,
7843     pub blockSize: i32,
7844     pub feedbackSize: i32,
7845 }
7846 impl ::core::marker::Copy for INFORMATIONCARD_SYMMETRIC_CRYPTO_PARAMETERS {}
7847 impl ::core::clone::Clone for INFORMATIONCARD_SYMMETRIC_CRYPTO_PARAMETERS {
clone(&self) -> Self7848     fn clone(&self) -> Self {
7849         *self
7850     }
7851 }
7852 #[repr(C)]
7853 #[cfg(feature = "Win32_Foundation")]
7854 pub struct INFORMATIONCARD_TRANSFORM_CRYPTO_PARAMETERS {
7855     pub inputBlockSize: i32,
7856     pub outputBlockSize: i32,
7857     pub canTransformMultipleBlocks: super::super::Foundation::BOOL,
7858     pub canReuseTransform: super::super::Foundation::BOOL,
7859 }
7860 #[cfg(feature = "Win32_Foundation")]
7861 impl ::core::marker::Copy for INFORMATIONCARD_TRANSFORM_CRYPTO_PARAMETERS {}
7862 #[cfg(feature = "Win32_Foundation")]
7863 impl ::core::clone::Clone for INFORMATIONCARD_TRANSFORM_CRYPTO_PARAMETERS {
clone(&self) -> Self7864     fn clone(&self) -> Self {
7865         *self
7866     }
7867 }
7868 pub const INTERNATIONAL_USAGE: u32 = 1u32;
7869 pub const KDF_ALGORITHMID: u32 = 8u32;
7870 pub const KDF_CONTEXT: u32 = 14u32;
7871 pub const KDF_GENERIC_PARAMETER: u32 = 17u32;
7872 pub const KDF_HASH_ALGORITHM: u32 = 0u32;
7873 pub const KDF_HKDF_INFO: u32 = 20u32;
7874 pub const KDF_HKDF_SALT: u32 = 19u32;
7875 pub const KDF_HMAC_KEY: u32 = 3u32;
7876 pub const KDF_ITERATION_COUNT: u32 = 16u32;
7877 pub const KDF_KEYBITLENGTH: u32 = 18u32;
7878 pub const KDF_LABEL: u32 = 13u32;
7879 pub const KDF_PARTYUINFO: u32 = 9u32;
7880 pub const KDF_PARTYVINFO: u32 = 10u32;
7881 pub const KDF_SALT: u32 = 15u32;
7882 pub const KDF_SECRET_APPEND: u32 = 2u32;
7883 pub const KDF_SECRET_HANDLE: u32 = 6u32;
7884 pub const KDF_SECRET_PREPEND: u32 = 1u32;
7885 pub const KDF_SUPPPRIVINFO: u32 = 12u32;
7886 pub const KDF_SUPPPUBINFO: u32 = 11u32;
7887 pub const KDF_TLS_PRF_LABEL: u32 = 4u32;
7888 pub const KDF_TLS_PRF_PROTOCOL: u32 = 7u32;
7889 pub const KDF_TLS_PRF_SEED: u32 = 5u32;
7890 pub const KDF_USE_SECRET_AS_HMAC_KEY_FLAG: u32 = 1u32;
7891 pub const KEYSTATEBLOB: u32 = 12u32;
7892 pub const KEY_LENGTH_MASK: u32 = 4294901760u32;
7893 #[repr(C)]
7894 pub struct KEY_TYPE_SUBTYPE {
7895     pub dwKeySpec: u32,
7896     pub Type: ::windows_sys::core::GUID,
7897     pub Subtype: ::windows_sys::core::GUID,
7898 }
7899 impl ::core::marker::Copy for KEY_TYPE_SUBTYPE {}
7900 impl ::core::clone::Clone for KEY_TYPE_SUBTYPE {
clone(&self) -> Self7901     fn clone(&self) -> Self {
7902         *self
7903     }
7904 }
7905 pub const KP_ADMIN_PIN: u32 = 31u32;
7906 pub const KP_CLEAR_KEY: u32 = 27u32;
7907 pub const KP_CLIENT_RANDOM: u32 = 21u32;
7908 pub const KP_CMS_DH_KEY_INFO: u32 = 38u32;
7909 pub const KP_CMS_KEY_INFO: u32 = 37u32;
7910 pub const KP_EFFECTIVE_KEYLEN: u32 = 19u32;
7911 pub const KP_G: u32 = 12u32;
7912 pub const KP_HIGHEST_VERSION: u32 = 41u32;
7913 pub const KP_INFO: u32 = 18u32;
7914 pub const KP_IV: u32 = 1u32;
7915 pub const KP_KEYEXCHANGE_PIN: u32 = 32u32;
7916 pub const KP_KEYVAL: u32 = 30u32;
7917 pub const KP_MODE: u32 = 4u32;
7918 pub const KP_MODE_BITS: u32 = 5u32;
7919 pub const KP_OAEP_PARAMS: u32 = 36u32;
7920 pub const KP_P: u32 = 11u32;
7921 pub const KP_PADDING: u32 = 3u32;
7922 pub const KP_PIN_ID: u32 = 43u32;
7923 pub const KP_PIN_INFO: u32 = 44u32;
7924 pub const KP_PRECOMP_MD5: u32 = 24u32;
7925 pub const KP_PRECOMP_SHA: u32 = 25u32;
7926 pub const KP_PREHASH: u32 = 34u32;
7927 pub const KP_PUB_EX_LEN: u32 = 28u32;
7928 pub const KP_PUB_EX_VAL: u32 = 29u32;
7929 pub const KP_PUB_PARAMS: u32 = 39u32;
7930 pub const KP_Q: u32 = 13u32;
7931 pub const KP_RA: u32 = 16u32;
7932 pub const KP_RB: u32 = 17u32;
7933 pub const KP_ROUNDS: u32 = 35u32;
7934 pub const KP_RP: u32 = 23u32;
7935 pub const KP_SCHANNEL_ALG: u32 = 20u32;
7936 pub const KP_SERVER_RANDOM: u32 = 22u32;
7937 pub const KP_SIGNATURE_PIN: u32 = 33u32;
7938 pub const KP_VERIFY_PARAMS: u32 = 40u32;
7939 pub const KP_X: u32 = 14u32;
7940 pub const KP_Y: u32 = 15u32;
7941 pub const MAXUIDLEN: u32 = 64u32;
7942 pub const MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG: u32 = 131072u32;
7943 pub const MICROSOFT_ROOT_CERT_CHAIN_POLICY_DISABLE_FLIGHT_ROOT_FLAG: u32 = 262144u32;
7944 pub const MICROSOFT_ROOT_CERT_CHAIN_POLICY_ENABLE_TEST_ROOT_FLAG: u32 = 65536u32;
7945 pub type MSCEPSetupProperty = i32;
7946 pub const ENUM_CEPSETUPPROP_USELOCALSYSTEM: MSCEPSetupProperty = 0i32;
7947 pub const ENUM_CEPSETUPPROP_USECHALLENGE: MSCEPSetupProperty = 1i32;
7948 pub const ENUM_CEPSETUPPROP_RANAME_CN: MSCEPSetupProperty = 2i32;
7949 pub const ENUM_CEPSETUPPROP_RANAME_EMAIL: MSCEPSetupProperty = 3i32;
7950 pub const ENUM_CEPSETUPPROP_RANAME_COMPANY: MSCEPSetupProperty = 4i32;
7951 pub const ENUM_CEPSETUPPROP_RANAME_DEPT: MSCEPSetupProperty = 5i32;
7952 pub const ENUM_CEPSETUPPROP_RANAME_CITY: MSCEPSetupProperty = 6i32;
7953 pub const ENUM_CEPSETUPPROP_RANAME_STATE: MSCEPSetupProperty = 7i32;
7954 pub const ENUM_CEPSETUPPROP_RANAME_COUNTRY: MSCEPSetupProperty = 8i32;
7955 pub const ENUM_CEPSETUPPROP_SIGNINGKEYINFORMATION: MSCEPSetupProperty = 9i32;
7956 pub const ENUM_CEPSETUPPROP_EXCHANGEKEYINFORMATION: MSCEPSetupProperty = 10i32;
7957 pub const ENUM_CEPSETUPPROP_CAINFORMATION: MSCEPSetupProperty = 11i32;
7958 pub const ENUM_CEPSETUPPROP_MSCEPURL: MSCEPSetupProperty = 12i32;
7959 pub const ENUM_CEPSETUPPROP_CHALLENGEURL: MSCEPSetupProperty = 13i32;
7960 pub const NCRYPTBUFFER_ATTESTATIONSTATEMENT_BLOB: u32 = 51u32;
7961 pub const NCRYPTBUFFER_ATTESTATION_CLAIM_CHALLENGE_REQUIRED: u32 = 53u32;
7962 pub const NCRYPTBUFFER_ATTESTATION_CLAIM_TYPE: u32 = 52u32;
7963 pub const NCRYPTBUFFER_CERT_BLOB: u32 = 47u32;
7964 pub const NCRYPTBUFFER_CLAIM_IDBINDING_NONCE: u32 = 48u32;
7965 pub const NCRYPTBUFFER_CLAIM_KEYATTESTATION_NONCE: u32 = 49u32;
7966 pub const NCRYPTBUFFER_DATA: u32 = 1u32;
7967 pub const NCRYPTBUFFER_ECC_CURVE_NAME: u32 = 60u32;
7968 pub const NCRYPTBUFFER_ECC_PARAMETERS: u32 = 61u32;
7969 pub const NCRYPTBUFFER_EMPTY: u32 = 0u32;
7970 pub const NCRYPTBUFFER_KEY_PROPERTY_FLAGS: u32 = 50u32;
7971 pub const NCRYPTBUFFER_PKCS_ALG_ID: u32 = 43u32;
7972 pub const NCRYPTBUFFER_PKCS_ALG_OID: u32 = 41u32;
7973 pub const NCRYPTBUFFER_PKCS_ALG_PARAM: u32 = 42u32;
7974 pub const NCRYPTBUFFER_PKCS_ATTRS: u32 = 44u32;
7975 pub const NCRYPTBUFFER_PKCS_KEY_NAME: u32 = 45u32;
7976 pub const NCRYPTBUFFER_PKCS_OID: u32 = 40u32;
7977 pub const NCRYPTBUFFER_PKCS_SECRET: u32 = 46u32;
7978 pub const NCRYPTBUFFER_PROTECTION_DESCRIPTOR_STRING: u32 = 3u32;
7979 pub const NCRYPTBUFFER_PROTECTION_FLAGS: u32 = 4u32;
7980 pub const NCRYPTBUFFER_SSL_CLEAR_KEY: u32 = 23u32;
7981 pub const NCRYPTBUFFER_SSL_CLIENT_RANDOM: u32 = 20u32;
7982 pub const NCRYPTBUFFER_SSL_HIGHEST_VERSION: u32 = 22u32;
7983 pub const NCRYPTBUFFER_SSL_KEY_ARG_DATA: u32 = 24u32;
7984 pub const NCRYPTBUFFER_SSL_SERVER_RANDOM: u32 = 21u32;
7985 pub const NCRYPTBUFFER_SSL_SESSION_HASH: u32 = 25u32;
7986 pub const NCRYPTBUFFER_TPM_PLATFORM_CLAIM_NONCE: u32 = 81u32;
7987 pub const NCRYPTBUFFER_TPM_PLATFORM_CLAIM_PCR_MASK: u32 = 80u32;
7988 pub const NCRYPTBUFFER_TPM_PLATFORM_CLAIM_STATIC_CREATE: u32 = 82u32;
7989 pub const NCRYPTBUFFER_TPM_SEAL_NO_DA_PROTECTION: u32 = 73u32;
7990 pub const NCRYPTBUFFER_TPM_SEAL_PASSWORD: u32 = 70u32;
7991 pub const NCRYPTBUFFER_TPM_SEAL_POLICYINFO: u32 = 71u32;
7992 pub const NCRYPTBUFFER_TPM_SEAL_TICKET: u32 = 72u32;
7993 pub const NCRYPTBUFFER_VERSION: u32 = 0u32;
7994 pub const NCRYPTBUFFER_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS: u32 = 54u32;
7995 pub type NCRYPT_ALGORITHM_NAME_CLASS = u32;
7996 pub const NCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE: NCRYPT_ALGORITHM_NAME_CLASS = 3u32;
7997 pub const NCRYPT_SECRET_AGREEMENT_INTERFACE: NCRYPT_ALGORITHM_NAME_CLASS = 4u32;
7998 pub const NCRYPT_SIGNATURE_INTERFACE: NCRYPT_ALGORITHM_NAME_CLASS = 5u32;
7999 #[repr(C)]
8000 pub struct NCRYPT_ALLOC_PARA {
8001     pub cbSize: u32,
8002     pub pfnAlloc: PFN_NCRYPT_ALLOC,
8003     pub pfnFree: PFN_NCRYPT_FREE,
8004 }
8005 impl ::core::marker::Copy for NCRYPT_ALLOC_PARA {}
8006 impl ::core::clone::Clone for NCRYPT_ALLOC_PARA {
clone(&self) -> Self8007     fn clone(&self) -> Self {
8008         *self
8009     }
8010 }
8011 pub const NCRYPT_ALLOW_ALL_USAGES: u32 = 16777215u32;
8012 pub const NCRYPT_ALLOW_ARCHIVING_FLAG: u32 = 4u32;
8013 pub const NCRYPT_ALLOW_DECRYPT_FLAG: u32 = 1u32;
8014 pub const NCRYPT_ALLOW_EXPORT_FLAG: u32 = 1u32;
8015 pub const NCRYPT_ALLOW_KEY_AGREEMENT_FLAG: u32 = 4u32;
8016 pub const NCRYPT_ALLOW_KEY_IMPORT_FLAG: u32 = 8u32;
8017 pub const NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG: u32 = 8u32;
8018 pub const NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG: u32 = 2u32;
8019 pub const NCRYPT_ALLOW_SIGNING_FLAG: u32 = 2u32;
8020 pub const NCRYPT_ALLOW_SILENT_KEY_ACCESS: u32 = 1u32;
8021 pub const NCRYPT_ATTESTATION_FLAG: u32 = 32u32;
8022 pub const NCRYPT_AUTHORITY_KEY_FLAG: u32 = 256u32;
8023 pub const NCRYPT_CIPHER_BLOCK_PADDING_FLAG: u32 = 1u32;
8024 pub const NCRYPT_CIPHER_KEY_BLOB_MAGIC: u32 = 1380470851u32;
8025 pub const NCRYPT_CIPHER_NO_PADDING_FLAG: u32 = 0u32;
8026 pub const NCRYPT_CIPHER_OTHER_PADDING_FLAG: u32 = 2u32;
8027 #[repr(C)]
8028 pub struct NCRYPT_CIPHER_PADDING_INFO {
8029     pub cbSize: u32,
8030     pub dwFlags: u32,
8031     pub pbIV: *mut u8,
8032     pub cbIV: u32,
8033     pub pbOtherInfo: *mut u8,
8034     pub cbOtherInfo: u32,
8035 }
8036 impl ::core::marker::Copy for NCRYPT_CIPHER_PADDING_INFO {}
8037 impl ::core::clone::Clone for NCRYPT_CIPHER_PADDING_INFO {
clone(&self) -> Self8038     fn clone(&self) -> Self {
8039         *self
8040     }
8041 }
8042 pub const NCRYPT_CLAIM_AUTHORITY_AND_SUBJECT: u32 = 3u32;
8043 pub const NCRYPT_CLAIM_AUTHORITY_ONLY: u32 = 1u32;
8044 pub const NCRYPT_CLAIM_PLATFORM: u32 = 65536u32;
8045 pub const NCRYPT_CLAIM_SUBJECT_ONLY: u32 = 2u32;
8046 pub const NCRYPT_CLAIM_UNKNOWN: u32 = 4096u32;
8047 pub const NCRYPT_CLAIM_VSM_KEY_ATTESTATION_STATEMENT: u32 = 4u32;
8048 pub const NCRYPT_CLAIM_WEB_AUTH_SUBJECT_ONLY: u32 = 258u32;
8049 pub const NCRYPT_DO_NOT_FINALIZE_FLAG: u32 = 1024u32;
8050 #[repr(C)]
8051 pub struct NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE {
8052     pub Header: NCRYPT_EXPORTED_ISOLATED_KEY_HEADER,
8053 }
8054 impl ::core::marker::Copy for NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE {}
8055 impl ::core::clone::Clone for NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE {
clone(&self) -> Self8056     fn clone(&self) -> Self {
8057         *self
8058     }
8059 }
8060 #[repr(C)]
8061 pub struct NCRYPT_EXPORTED_ISOLATED_KEY_HEADER {
8062     pub Version: u32,
8063     pub KeyUsage: u32,
8064     pub _bitfield: u32,
8065     pub cbAlgName: u32,
8066     pub cbNonce: u32,
8067     pub cbAuthTag: u32,
8068     pub cbWrappingKey: u32,
8069     pub cbIsolatedKey: u32,
8070 }
8071 impl ::core::marker::Copy for NCRYPT_EXPORTED_ISOLATED_KEY_HEADER {}
8072 impl ::core::clone::Clone for NCRYPT_EXPORTED_ISOLATED_KEY_HEADER {
clone(&self) -> Self8073     fn clone(&self) -> Self {
8074         *self
8075     }
8076 }
8077 pub const NCRYPT_EXPORTED_ISOLATED_KEY_HEADER_CURRENT_VERSION: u32 = 0u32;
8078 pub const NCRYPT_EXPORTED_ISOLATED_KEY_HEADER_V0: u32 = 0u32;
8079 pub const NCRYPT_EXPORT_LEGACY_FLAG: u32 = 2048u32;
8080 pub type NCRYPT_FLAGS = u32;
8081 pub const BCRYPT_PAD_NONE: NCRYPT_FLAGS = 1u32;
8082 pub const BCRYPT_PAD_OAEP: NCRYPT_FLAGS = 4u32;
8083 pub const BCRYPT_PAD_PKCS1: NCRYPT_FLAGS = 2u32;
8084 pub const BCRYPT_PAD_PSS: NCRYPT_FLAGS = 8u32;
8085 pub const NCRYPT_SILENT_FLAG: NCRYPT_FLAGS = 64u32;
8086 pub const NCRYPT_NO_PADDING_FLAG: NCRYPT_FLAGS = 1u32;
8087 pub const NCRYPT_PAD_OAEP_FLAG: NCRYPT_FLAGS = 4u32;
8088 pub const NCRYPT_PAD_PKCS1_FLAG: NCRYPT_FLAGS = 2u32;
8089 pub const NCRYPT_REGISTER_NOTIFY_FLAG: NCRYPT_FLAGS = 1u32;
8090 pub const NCRYPT_UNREGISTER_NOTIFY_FLAG: NCRYPT_FLAGS = 2u32;
8091 pub const NCRYPT_MACHINE_KEY_FLAG: NCRYPT_FLAGS = 32u32;
8092 pub const NCRYPT_UNPROTECT_NO_DECRYPT: NCRYPT_FLAGS = 1u32;
8093 pub const NCRYPT_OVERWRITE_KEY_FLAG: NCRYPT_FLAGS = 128u32;
8094 pub const NCRYPT_NO_KEY_VALIDATION: NCRYPT_FLAGS = 8u32;
8095 pub const NCRYPT_WRITE_KEY_TO_LEGACY_STORE_FLAG: NCRYPT_FLAGS = 512u32;
8096 pub const NCRYPT_PAD_PSS_FLAG: NCRYPT_FLAGS = 8u32;
8097 pub const NCRYPT_PERSIST_FLAG: NCRYPT_FLAGS = 2147483648u32;
8098 pub const NCRYPT_PERSIST_ONLY_FLAG: NCRYPT_FLAGS = 1073741824u32;
8099 pub const NCRYPT_IGNORE_DEVICE_STATE_FLAG: u32 = 4096u32;
8100 pub const NCRYPT_IMPL_HARDWARE_FLAG: u32 = 1u32;
8101 pub const NCRYPT_IMPL_HARDWARE_RNG_FLAG: u32 = 16u32;
8102 pub const NCRYPT_IMPL_REMOVABLE_FLAG: u32 = 8u32;
8103 pub const NCRYPT_IMPL_SOFTWARE_FLAG: u32 = 2u32;
8104 pub const NCRYPT_IMPL_VIRTUAL_ISOLATION_FLAG: u32 = 32u32;
8105 #[repr(C)]
8106 pub struct NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES {
8107     pub Version: u32,
8108     pub Flags: u32,
8109     pub cbPublicKeyBlob: u32,
8110 }
8111 impl ::core::marker::Copy for NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES {}
8112 impl ::core::clone::Clone for NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES {
clone(&self) -> Self8113     fn clone(&self) -> Self {
8114         *self
8115     }
8116 }
8117 pub const NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES_CURRENT_VERSION: u32 = 0u32;
8118 pub const NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES_V0: u32 = 0u32;
8119 pub const NCRYPT_ISOLATED_KEY_FLAG_CREATED_IN_ISOLATION: u32 = 1u32;
8120 pub const NCRYPT_ISOLATED_KEY_FLAG_IMPORT_ONLY: u32 = 2u32;
8121 pub const NCRYPT_KDF_KEY_BLOB_MAGIC: u32 = 826688587u32;
8122 #[repr(C)]
8123 pub struct NCRYPT_KEY_ACCESS_POLICY_BLOB {
8124     pub dwVersion: u32,
8125     pub dwPolicyFlags: u32,
8126     pub cbUserSid: u32,
8127     pub cbApplicationSid: u32,
8128 }
8129 impl ::core::marker::Copy for NCRYPT_KEY_ACCESS_POLICY_BLOB {}
8130 impl ::core::clone::Clone for NCRYPT_KEY_ACCESS_POLICY_BLOB {
clone(&self) -> Self8131     fn clone(&self) -> Self {
8132         *self
8133     }
8134 }
8135 pub const NCRYPT_KEY_ACCESS_POLICY_VERSION: u32 = 1u32;
8136 pub const NCRYPT_KEY_ATTEST_MAGIC: u32 = 1146110283u32;
8137 #[repr(C)]
8138 pub struct NCRYPT_KEY_ATTEST_PADDING_INFO {
8139     pub magic: u32,
8140     pub pbKeyBlob: *mut u8,
8141     pub cbKeyBlob: u32,
8142     pub pbKeyAuth: *mut u8,
8143     pub cbKeyAuth: u32,
8144 }
8145 impl ::core::marker::Copy for NCRYPT_KEY_ATTEST_PADDING_INFO {}
8146 impl ::core::clone::Clone for NCRYPT_KEY_ATTEST_PADDING_INFO {
clone(&self) -> Self8147     fn clone(&self) -> Self {
8148         *self
8149     }
8150 }
8151 #[repr(C)]
8152 pub struct NCRYPT_KEY_BLOB_HEADER {
8153     pub cbSize: u32,
8154     pub dwMagic: u32,
8155     pub cbAlgName: u32,
8156     pub cbKeyData: u32,
8157 }
8158 impl ::core::marker::Copy for NCRYPT_KEY_BLOB_HEADER {}
8159 impl ::core::clone::Clone for NCRYPT_KEY_BLOB_HEADER {
clone(&self) -> Self8160     fn clone(&self) -> Self {
8161         *self
8162     }
8163 }
8164 pub const NCRYPT_KEY_DERIVATION_INTERFACE: u32 = 7u32;
8165 pub const NCRYPT_KEY_DERIVATION_OPERATION: u32 = 64u32;
8166 pub const NCRYPT_KEY_PROTECTION_INTERFACE: u32 = 65540u32;
8167 pub const NCRYPT_MAX_ALG_ID_LENGTH: u32 = 512u32;
8168 pub const NCRYPT_MAX_KEY_NAME_LENGTH: u32 = 512u32;
8169 pub const NCRYPT_MAX_PROPERTY_DATA: u32 = 1048576u32;
8170 pub const NCRYPT_MAX_PROPERTY_NAME: u32 = 64u32;
8171 pub const NCRYPT_NAMED_DESCRIPTOR_FLAG: u32 = 1u32;
8172 pub const NCRYPT_NO_CACHED_PASSWORD: u32 = 16384u32;
8173 pub type NCRYPT_OPERATION = u32;
8174 pub const NCRYPT_CIPHER_OPERATION: NCRYPT_OPERATION = 1u32;
8175 pub const NCRYPT_HASH_OPERATION: NCRYPT_OPERATION = 2u32;
8176 pub const NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION: NCRYPT_OPERATION = 4u32;
8177 pub const NCRYPT_SECRET_AGREEMENT_OPERATION: NCRYPT_OPERATION = 8u32;
8178 pub const NCRYPT_SIGNATURE_OPERATION: NCRYPT_OPERATION = 16u32;
8179 pub const NCRYPT_PAD_CIPHER_FLAG: u32 = 16u32;
8180 pub const NCRYPT_PCP_ENCRYPTION_KEY: u32 = 2u32;
8181 pub const NCRYPT_PCP_HMACVERIFICATION_KEY: u32 = 16u32;
8182 #[repr(C)]
8183 pub struct NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO {
8184     pub dwVersion: u32,
8185     pub iExpiration: i32,
8186     pub pabNonce: [u8; 32],
8187     pub pabPolicyRef: [u8; 32],
8188     pub pabHMAC: [u8; 32],
8189 }
8190 impl ::core::marker::Copy for NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO {}
8191 impl ::core::clone::Clone for NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO {
clone(&self) -> Self8192     fn clone(&self) -> Self {
8193         *self
8194     }
8195 }
8196 pub const NCRYPT_PCP_IDENTITY_KEY: u32 = 8u32;
8197 #[repr(C)]
8198 pub struct NCRYPT_PCP_RAW_POLICYDIGEST {
8199     pub dwVersion: u32,
8200     pub cbDigest: u32,
8201 }
8202 impl ::core::marker::Copy for NCRYPT_PCP_RAW_POLICYDIGEST {}
8203 impl ::core::clone::Clone for NCRYPT_PCP_RAW_POLICYDIGEST {
clone(&self) -> Self8204     fn clone(&self) -> Self {
8205         *self
8206     }
8207 }
8208 pub const NCRYPT_PCP_SIGNATURE_KEY: u32 = 1u32;
8209 pub const NCRYPT_PCP_STORAGE_KEY: u32 = 4u32;
8210 #[repr(C)]
8211 pub struct NCRYPT_PCP_TPM_FW_VERSION_INFO {
8212     pub major1: u16,
8213     pub major2: u16,
8214     pub minor1: u16,
8215     pub minor2: u16,
8216 }
8217 impl ::core::marker::Copy for NCRYPT_PCP_TPM_FW_VERSION_INFO {}
8218 impl ::core::clone::Clone for NCRYPT_PCP_TPM_FW_VERSION_INFO {
clone(&self) -> Self8219     fn clone(&self) -> Self {
8220         *self
8221     }
8222 }
8223 pub const NCRYPT_PIN_CACHE_APPLICATION_TICKET_BYTE_LENGTH: u32 = 90u32;
8224 pub const NCRYPT_PIN_CACHE_CLEAR_FOR_CALLING_PROCESS_OPTION: u32 = 1u32;
8225 pub const NCRYPT_PIN_CACHE_DISABLE_DPL_FLAG: u32 = 1u32;
8226 pub const NCRYPT_PIN_CACHE_REQUIRE_GESTURE_FLAG: u32 = 1u32;
8227 pub const NCRYPT_PLATFORM_ATTEST_MAGIC: u32 = 1146110288u32;
8228 #[repr(C)]
8229 pub struct NCRYPT_PLATFORM_ATTEST_PADDING_INFO {
8230     pub magic: u32,
8231     pub pcrMask: u32,
8232 }
8233 impl ::core::marker::Copy for NCRYPT_PLATFORM_ATTEST_PADDING_INFO {}
8234 impl ::core::clone::Clone for NCRYPT_PLATFORM_ATTEST_PADDING_INFO {
clone(&self) -> Self8235     fn clone(&self) -> Self {
8236         *self
8237     }
8238 }
8239 pub const NCRYPT_PREFER_VIRTUAL_ISOLATION_FLAG: u32 = 65536u32;
8240 pub const NCRYPT_PROTECTED_KEY_BLOB_MAGIC: u32 = 1263817296u32;
8241 pub const NCRYPT_PROTECTION_INFO_TYPE_DESCRIPTOR_STRING: u32 = 1u32;
8242 #[repr(C)]
8243 #[cfg(feature = "Win32_Foundation")]
8244 pub struct NCRYPT_PROTECT_STREAM_INFO {
8245     pub pfnStreamOutput: PFNCryptStreamOutputCallback,
8246     pub pvCallbackCtxt: *mut ::core::ffi::c_void,
8247 }
8248 #[cfg(feature = "Win32_Foundation")]
8249 impl ::core::marker::Copy for NCRYPT_PROTECT_STREAM_INFO {}
8250 #[cfg(feature = "Win32_Foundation")]
8251 impl ::core::clone::Clone for NCRYPT_PROTECT_STREAM_INFO {
clone(&self) -> Self8252     fn clone(&self) -> Self {
8253         *self
8254     }
8255 }
8256 #[repr(C)]
8257 #[cfg(feature = "Win32_Foundation")]
8258 pub struct NCRYPT_PROTECT_STREAM_INFO_EX {
8259     pub pfnStreamOutput: PFNCryptStreamOutputCallbackEx,
8260     pub pvCallbackCtxt: *mut ::core::ffi::c_void,
8261 }
8262 #[cfg(feature = "Win32_Foundation")]
8263 impl ::core::marker::Copy for NCRYPT_PROTECT_STREAM_INFO_EX {}
8264 #[cfg(feature = "Win32_Foundation")]
8265 impl ::core::clone::Clone for NCRYPT_PROTECT_STREAM_INFO_EX {
clone(&self) -> Self8266     fn clone(&self) -> Self {
8267         *self
8268     }
8269 }
8270 pub const NCRYPT_PROTECT_TO_LOCAL_SYSTEM: u32 = 32768u32;
8271 pub const NCRYPT_SEALING_FLAG: u32 = 256u32;
8272 #[repr(C)]
8273 pub struct NCRYPT_SUPPORTED_LENGTHS {
8274     pub dwMinLength: u32,
8275     pub dwMaxLength: u32,
8276     pub dwIncrement: u32,
8277     pub dwDefaultLength: u32,
8278 }
8279 impl ::core::marker::Copy for NCRYPT_SUPPORTED_LENGTHS {}
8280 impl ::core::clone::Clone for NCRYPT_SUPPORTED_LENGTHS {
clone(&self) -> Self8281     fn clone(&self) -> Self {
8282         *self
8283     }
8284 }
8285 pub const NCRYPT_TPM12_PROVIDER: u32 = 65536u32;
8286 #[repr(C)]
8287 pub struct NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER {
8288     pub magic: u32,
8289     pub cbHeader: u32,
8290     pub cbPublic: u32,
8291     pub cbPrivate: u32,
8292     pub cbName: u32,
8293 }
8294 impl ::core::marker::Copy for NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER {}
8295 impl ::core::clone::Clone for NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER {
clone(&self) -> Self8296     fn clone(&self) -> Self {
8297         *self
8298     }
8299 }
8300 pub const NCRYPT_TPM_LOADABLE_KEY_BLOB_MAGIC: u32 = 1297371211u32;
8301 pub const NCRYPT_TPM_PAD_PSS_IGNORE_SALT: u32 = 32u32;
8302 #[repr(C)]
8303 pub struct NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT {
8304     pub Magic: u32,
8305     pub Version: u32,
8306     pub pcrAlg: u32,
8307     pub cbSignature: u32,
8308     pub cbQuote: u32,
8309     pub cbPcrs: u32,
8310 }
8311 impl ::core::marker::Copy for NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT {}
8312 impl ::core::clone::Clone for NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT {
clone(&self) -> Self8313     fn clone(&self) -> Self {
8314         *self
8315     }
8316 }
8317 pub const NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT_CURRENT_VERSION: u32 = 0u32;
8318 pub const NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT_V0: u32 = 0u32;
8319 pub const NCRYPT_TPM_PSS_SALT_SIZE_HASHSIZE: u32 = 2u32;
8320 pub const NCRYPT_TPM_PSS_SALT_SIZE_MAXIMUM: u32 = 1u32;
8321 pub const NCRYPT_TPM_PSS_SALT_SIZE_UNKNOWN: u32 = 0u32;
8322 pub const NCRYPT_TREAT_NIST_AS_GENERIC_ECC_FLAG: u32 = 8192u32;
8323 pub const NCRYPT_UI_APPCONTAINER_ACCESS_MEDIUM_FLAG: u32 = 8u32;
8324 pub const NCRYPT_UI_FINGERPRINT_PROTECTION_FLAG: u32 = 4u32;
8325 pub const NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG: u32 = 2u32;
8326 #[repr(C)]
8327 #[cfg(feature = "Win32_Foundation")]
8328 pub struct NCRYPT_UI_POLICY {
8329     pub dwVersion: u32,
8330     pub dwFlags: u32,
8331     pub pszCreationTitle: super::super::Foundation::PWSTR,
8332     pub pszFriendlyName: super::super::Foundation::PWSTR,
8333     pub pszDescription: super::super::Foundation::PWSTR,
8334 }
8335 #[cfg(feature = "Win32_Foundation")]
8336 impl ::core::marker::Copy for NCRYPT_UI_POLICY {}
8337 #[cfg(feature = "Win32_Foundation")]
8338 impl ::core::clone::Clone for NCRYPT_UI_POLICY {
clone(&self) -> Self8339     fn clone(&self) -> Self {
8340         *self
8341     }
8342 }
8343 pub const NCRYPT_UI_PROTECT_KEY_FLAG: u32 = 1u32;
8344 pub const NCRYPT_USE_PER_BOOT_KEY_FLAG: u32 = 262144u32;
8345 pub const NCRYPT_USE_VIRTUAL_ISOLATION_FLAG: u32 = 131072u32;
8346 #[repr(C)]
8347 pub struct NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS {
8348     pub Version: u32,
8349     pub TrustletId: u64,
8350     pub MinSvn: u32,
8351     pub FlagsMask: u32,
8352     pub FlagsExpected: u32,
8353     pub _bitfield: u32,
8354 }
8355 impl ::core::marker::Copy for NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS {}
8356 impl ::core::clone::Clone for NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS {
clone(&self) -> Self8357     fn clone(&self) -> Self {
8358         *self
8359     }
8360 }
8361 pub const NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS_CURRENT_VERSION: u32 = 0u32;
8362 pub const NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS_V0: u32 = 0u32;
8363 #[repr(C)]
8364 pub struct NCRYPT_VSM_KEY_ATTESTATION_STATEMENT {
8365     pub Magic: u32,
8366     pub Version: u32,
8367     pub cbSignature: u32,
8368     pub cbReport: u32,
8369     pub cbAttributes: u32,
8370 }
8371 impl ::core::marker::Copy for NCRYPT_VSM_KEY_ATTESTATION_STATEMENT {}
8372 impl ::core::clone::Clone for NCRYPT_VSM_KEY_ATTESTATION_STATEMENT {
clone(&self) -> Self8373     fn clone(&self) -> Self {
8374         *self
8375     }
8376 }
8377 pub const NCRYPT_VSM_KEY_ATTESTATION_STATEMENT_CURRENT_VERSION: u32 = 0u32;
8378 pub const NCRYPT_VSM_KEY_ATTESTATION_STATEMENT_V0: u32 = 0u32;
8379 #[repr(C)]
8380 #[cfg(feature = "Win32_Foundation")]
8381 pub struct NCryptAlgorithmName {
8382     pub pszName: super::super::Foundation::PWSTR,
8383     pub dwClass: NCRYPT_ALGORITHM_NAME_CLASS,
8384     pub dwAlgOperations: NCRYPT_OPERATION,
8385     pub dwFlags: u32,
8386 }
8387 #[cfg(feature = "Win32_Foundation")]
8388 impl ::core::marker::Copy for NCryptAlgorithmName {}
8389 #[cfg(feature = "Win32_Foundation")]
8390 impl ::core::clone::Clone for NCryptAlgorithmName {
clone(&self) -> Self8391     fn clone(&self) -> Self {
8392         *self
8393     }
8394 }
8395 #[repr(C)]
8396 #[cfg(feature = "Win32_Foundation")]
8397 pub struct NCryptKeyName {
8398     pub pszName: super::super::Foundation::PWSTR,
8399     pub pszAlgid: super::super::Foundation::PWSTR,
8400     pub dwLegacyKeySpec: CERT_KEY_SPEC,
8401     pub dwFlags: u32,
8402 }
8403 #[cfg(feature = "Win32_Foundation")]
8404 impl ::core::marker::Copy for NCryptKeyName {}
8405 #[cfg(feature = "Win32_Foundation")]
8406 impl ::core::clone::Clone for NCryptKeyName {
clone(&self) -> Self8407     fn clone(&self) -> Self {
8408         *self
8409     }
8410 }
8411 #[repr(C)]
8412 #[cfg(feature = "Win32_Foundation")]
8413 pub struct NCryptProviderName {
8414     pub pszName: super::super::Foundation::PWSTR,
8415     pub pszComment: super::super::Foundation::PWSTR,
8416 }
8417 #[cfg(feature = "Win32_Foundation")]
8418 impl ::core::marker::Copy for NCryptProviderName {}
8419 #[cfg(feature = "Win32_Foundation")]
8420 impl ::core::clone::Clone for NCryptProviderName {
clone(&self) -> Self8421     fn clone(&self) -> Self {
8422         *self
8423     }
8424 }
8425 pub const NETSCAPE_SIGN_CA_CERT_TYPE: u32 = 1u32;
8426 pub const NETSCAPE_SIGN_CERT_TYPE: u32 = 16u32;
8427 pub const NETSCAPE_SMIME_CA_CERT_TYPE: u32 = 2u32;
8428 pub const NETSCAPE_SMIME_CERT_TYPE: u32 = 32u32;
8429 pub const NETSCAPE_SSL_CA_CERT_TYPE: u32 = 4u32;
8430 pub const NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE: u32 = 128u32;
8431 pub const NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE: u32 = 64u32;
8432 pub const OCSP_BASIC_BY_KEY_RESPONDER_ID: u32 = 2u32;
8433 pub const OCSP_BASIC_BY_NAME_RESPONDER_ID: u32 = 1u32;
8434 pub const OCSP_BASIC_GOOD_CERT_STATUS: u32 = 0u32;
8435 #[repr(C)]
8436 #[cfg(feature = "Win32_Foundation")]
8437 pub struct OCSP_BASIC_RESPONSE_ENTRY {
8438     pub CertId: OCSP_CERT_ID,
8439     pub dwCertStatus: u32,
8440     pub Anonymous: OCSP_BASIC_RESPONSE_ENTRY_0,
8441     pub ThisUpdate: super::super::Foundation::FILETIME,
8442     pub NextUpdate: super::super::Foundation::FILETIME,
8443     pub cExtension: u32,
8444     pub rgExtension: *mut CERT_EXTENSION,
8445 }
8446 #[cfg(feature = "Win32_Foundation")]
8447 impl ::core::marker::Copy for OCSP_BASIC_RESPONSE_ENTRY {}
8448 #[cfg(feature = "Win32_Foundation")]
8449 impl ::core::clone::Clone for OCSP_BASIC_RESPONSE_ENTRY {
clone(&self) -> Self8450     fn clone(&self) -> Self {
8451         *self
8452     }
8453 }
8454 #[repr(C)]
8455 #[cfg(feature = "Win32_Foundation")]
8456 pub union OCSP_BASIC_RESPONSE_ENTRY_0 {
8457     pub pRevokedInfo: *mut OCSP_BASIC_REVOKED_INFO,
8458 }
8459 #[cfg(feature = "Win32_Foundation")]
8460 impl ::core::marker::Copy for OCSP_BASIC_RESPONSE_ENTRY_0 {}
8461 #[cfg(feature = "Win32_Foundation")]
8462 impl ::core::clone::Clone for OCSP_BASIC_RESPONSE_ENTRY_0 {
clone(&self) -> Self8463     fn clone(&self) -> Self {
8464         *self
8465     }
8466 }
8467 #[repr(C)]
8468 #[cfg(feature = "Win32_Foundation")]
8469 pub struct OCSP_BASIC_RESPONSE_INFO {
8470     pub dwVersion: u32,
8471     pub dwResponderIdChoice: u32,
8472     pub Anonymous: OCSP_BASIC_RESPONSE_INFO_0,
8473     pub ProducedAt: super::super::Foundation::FILETIME,
8474     pub cResponseEntry: u32,
8475     pub rgResponseEntry: *mut OCSP_BASIC_RESPONSE_ENTRY,
8476     pub cExtension: u32,
8477     pub rgExtension: *mut CERT_EXTENSION,
8478 }
8479 #[cfg(feature = "Win32_Foundation")]
8480 impl ::core::marker::Copy for OCSP_BASIC_RESPONSE_INFO {}
8481 #[cfg(feature = "Win32_Foundation")]
8482 impl ::core::clone::Clone for OCSP_BASIC_RESPONSE_INFO {
clone(&self) -> Self8483     fn clone(&self) -> Self {
8484         *self
8485     }
8486 }
8487 #[repr(C)]
8488 #[cfg(feature = "Win32_Foundation")]
8489 pub union OCSP_BASIC_RESPONSE_INFO_0 {
8490     pub ByNameResponderId: CRYPTOAPI_BLOB,
8491     pub ByKeyResponderId: CRYPTOAPI_BLOB,
8492 }
8493 #[cfg(feature = "Win32_Foundation")]
8494 impl ::core::marker::Copy for OCSP_BASIC_RESPONSE_INFO_0 {}
8495 #[cfg(feature = "Win32_Foundation")]
8496 impl ::core::clone::Clone for OCSP_BASIC_RESPONSE_INFO_0 {
clone(&self) -> Self8497     fn clone(&self) -> Self {
8498         *self
8499     }
8500 }
8501 pub const OCSP_BASIC_RESPONSE_V1: u32 = 0u32;
8502 pub const OCSP_BASIC_REVOKED_CERT_STATUS: u32 = 1u32;
8503 #[repr(C)]
8504 #[cfg(feature = "Win32_Foundation")]
8505 pub struct OCSP_BASIC_REVOKED_INFO {
8506     pub RevocationDate: super::super::Foundation::FILETIME,
8507     pub dwCrlReasonCode: CERT_REVOCATION_STATUS_REASON,
8508 }
8509 #[cfg(feature = "Win32_Foundation")]
8510 impl ::core::marker::Copy for OCSP_BASIC_REVOKED_INFO {}
8511 #[cfg(feature = "Win32_Foundation")]
8512 impl ::core::clone::Clone for OCSP_BASIC_REVOKED_INFO {
clone(&self) -> Self8513     fn clone(&self) -> Self {
8514         *self
8515     }
8516 }
8517 #[repr(C)]
8518 #[cfg(feature = "Win32_Foundation")]
8519 pub struct OCSP_BASIC_SIGNED_RESPONSE_INFO {
8520     pub ToBeSigned: CRYPTOAPI_BLOB,
8521     pub SignatureInfo: OCSP_SIGNATURE_INFO,
8522 }
8523 #[cfg(feature = "Win32_Foundation")]
8524 impl ::core::marker::Copy for OCSP_BASIC_SIGNED_RESPONSE_INFO {}
8525 #[cfg(feature = "Win32_Foundation")]
8526 impl ::core::clone::Clone for OCSP_BASIC_SIGNED_RESPONSE_INFO {
clone(&self) -> Self8527     fn clone(&self) -> Self {
8528         *self
8529     }
8530 }
8531 pub const OCSP_BASIC_UNKNOWN_CERT_STATUS: u32 = 2u32;
8532 #[repr(C)]
8533 #[cfg(feature = "Win32_Foundation")]
8534 pub struct OCSP_CERT_ID {
8535     pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
8536     pub IssuerNameHash: CRYPTOAPI_BLOB,
8537     pub IssuerKeyHash: CRYPTOAPI_BLOB,
8538     pub SerialNumber: CRYPTOAPI_BLOB,
8539 }
8540 #[cfg(feature = "Win32_Foundation")]
8541 impl ::core::marker::Copy for OCSP_CERT_ID {}
8542 #[cfg(feature = "Win32_Foundation")]
8543 impl ::core::clone::Clone for OCSP_CERT_ID {
clone(&self) -> Self8544     fn clone(&self) -> Self {
8545         *self
8546     }
8547 }
8548 pub const OCSP_INTERNAL_ERROR_RESPONSE: u32 = 2u32;
8549 pub const OCSP_MALFORMED_REQUEST_RESPONSE: u32 = 1u32;
8550 #[repr(C)]
8551 #[cfg(feature = "Win32_Foundation")]
8552 pub struct OCSP_REQUEST_ENTRY {
8553     pub CertId: OCSP_CERT_ID,
8554     pub cExtension: u32,
8555     pub rgExtension: *mut CERT_EXTENSION,
8556 }
8557 #[cfg(feature = "Win32_Foundation")]
8558 impl ::core::marker::Copy for OCSP_REQUEST_ENTRY {}
8559 #[cfg(feature = "Win32_Foundation")]
8560 impl ::core::clone::Clone for OCSP_REQUEST_ENTRY {
clone(&self) -> Self8561     fn clone(&self) -> Self {
8562         *self
8563     }
8564 }
8565 #[repr(C)]
8566 #[cfg(feature = "Win32_Foundation")]
8567 pub struct OCSP_REQUEST_INFO {
8568     pub dwVersion: u32,
8569     pub pRequestorName: *mut CERT_ALT_NAME_ENTRY,
8570     pub cRequestEntry: u32,
8571     pub rgRequestEntry: *mut OCSP_REQUEST_ENTRY,
8572     pub cExtension: u32,
8573     pub rgExtension: *mut CERT_EXTENSION,
8574 }
8575 #[cfg(feature = "Win32_Foundation")]
8576 impl ::core::marker::Copy for OCSP_REQUEST_INFO {}
8577 #[cfg(feature = "Win32_Foundation")]
8578 impl ::core::clone::Clone for OCSP_REQUEST_INFO {
clone(&self) -> Self8579     fn clone(&self) -> Self {
8580         *self
8581     }
8582 }
8583 pub const OCSP_REQUEST_V1: u32 = 0u32;
8584 #[repr(C)]
8585 #[cfg(feature = "Win32_Foundation")]
8586 pub struct OCSP_RESPONSE_INFO {
8587     pub dwStatus: u32,
8588     pub pszObjId: super::super::Foundation::PSTR,
8589     pub Value: CRYPTOAPI_BLOB,
8590 }
8591 #[cfg(feature = "Win32_Foundation")]
8592 impl ::core::marker::Copy for OCSP_RESPONSE_INFO {}
8593 #[cfg(feature = "Win32_Foundation")]
8594 impl ::core::clone::Clone for OCSP_RESPONSE_INFO {
clone(&self) -> Self8595     fn clone(&self) -> Self {
8596         *self
8597     }
8598 }
8599 #[repr(C)]
8600 #[cfg(feature = "Win32_Foundation")]
8601 pub struct OCSP_SIGNATURE_INFO {
8602     pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER,
8603     pub Signature: CRYPT_BIT_BLOB,
8604     pub cCertEncoded: u32,
8605     pub rgCertEncoded: *mut CRYPTOAPI_BLOB,
8606 }
8607 #[cfg(feature = "Win32_Foundation")]
8608 impl ::core::marker::Copy for OCSP_SIGNATURE_INFO {}
8609 #[cfg(feature = "Win32_Foundation")]
8610 impl ::core::clone::Clone for OCSP_SIGNATURE_INFO {
clone(&self) -> Self8611     fn clone(&self) -> Self {
8612         *self
8613     }
8614 }
8615 #[repr(C)]
8616 #[cfg(feature = "Win32_Foundation")]
8617 pub struct OCSP_SIGNED_REQUEST_INFO {
8618     pub ToBeSigned: CRYPTOAPI_BLOB,
8619     pub pOptionalSignatureInfo: *mut OCSP_SIGNATURE_INFO,
8620 }
8621 #[cfg(feature = "Win32_Foundation")]
8622 impl ::core::marker::Copy for OCSP_SIGNED_REQUEST_INFO {}
8623 #[cfg(feature = "Win32_Foundation")]
8624 impl ::core::clone::Clone for OCSP_SIGNED_REQUEST_INFO {
clone(&self) -> Self8625     fn clone(&self) -> Self {
8626         *self
8627     }
8628 }
8629 pub const OCSP_SIG_REQUIRED_RESPONSE: u32 = 5u32;
8630 pub const OCSP_SUCCESSFUL_RESPONSE: u32 = 0u32;
8631 pub const OCSP_TRY_LATER_RESPONSE: u32 = 3u32;
8632 pub const OCSP_UNAUTHORIZED_RESPONSE: u32 = 6u32;
8633 pub const OPAQUEKEYBLOB: u32 = 9u32;
8634 #[cfg(feature = "Win32_Foundation")]
8635 pub type PCRYPT_DECRYPT_PRIVATE_KEY_FUNC = unsafe extern "system" fn(algorithm: CRYPT_ALGORITHM_IDENTIFIER, encryptedprivatekey: CRYPTOAPI_BLOB, pbcleartextkey: *mut u8, pcbcleartextkey: *mut u32, pvoiddecryptfunc: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8636 #[cfg(feature = "Win32_Foundation")]
8637 pub type PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC = unsafe extern "system" fn(palgorithm: *mut CRYPT_ALGORITHM_IDENTIFIER, pcleartextprivatekey: *const CRYPTOAPI_BLOB, pbencryptedkey: *mut u8, pcbencryptedkey: *mut u32, pvoidencryptfunc: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8638 #[cfg(feature = "Win32_Foundation")]
8639 pub type PCRYPT_RESOLVE_HCRYPTPROV_FUNC = unsafe extern "system" fn(pprivatekeyinfo: *mut CRYPT_PRIVATE_KEY_INFO, phcryptprov: *mut usize, pvoidresolvefunc: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8640 #[cfg(feature = "Win32_Foundation")]
8641 pub type PFNCryptStreamOutputCallback = unsafe extern "system" fn(pvcallbackctxt: *const ::core::ffi::c_void, pbdata: *const u8, cbdata: usize, ffinal: super::super::Foundation::BOOL) -> i32;
8642 #[cfg(feature = "Win32_Foundation")]
8643 pub type PFNCryptStreamOutputCallbackEx = unsafe extern "system" fn(pvcallbackctxt: *const ::core::ffi::c_void, pbdata: *const u8, cbdata: usize, hdescriptor: super::NCRYPT_DESCRIPTOR_HANDLE, ffinal: super::super::Foundation::BOOL) -> i32;
8644 #[cfg(feature = "Win32_Foundation")]
8645 pub type PFN_CANCEL_ASYNC_RETRIEVAL_FUNC = unsafe extern "system" fn(hasyncretrieve: HCRYPTASYNC) -> super::super::Foundation::BOOL;
8646 #[cfg(feature = "Win32_Foundation")]
8647 pub type PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK = unsafe extern "system" fn(pcert: *const CERT_CONTEXT, pvfindarg: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8648 #[cfg(feature = "Win32_Foundation")]
8649 pub type PFN_CERT_CREATE_CONTEXT_SORT_FUNC = unsafe extern "system" fn(cbtotalencoded: u32, cbremainencoded: u32, centry: u32, pvsort: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8650 #[cfg(feature = "Win32_Foundation")]
8651 pub type PFN_CERT_DLL_OPEN_STORE_PROV_FUNC = unsafe extern "system" fn(lpszstoreprovider: super::super::Foundation::PSTR, dwencodingtype: CERT_QUERY_ENCODING_TYPE, hcryptprov: usize, dwflags: CERT_OPEN_STORE_FLAGS, pvpara: *const ::core::ffi::c_void, hcertstore: *const ::core::ffi::c_void, pstoreprovinfo: *mut CERT_STORE_PROV_INFO) -> super::super::Foundation::BOOL;
8652 #[cfg(feature = "Win32_Foundation")]
8653 pub type PFN_CERT_ENUM_PHYSICAL_STORE = unsafe extern "system" fn(pvsystemstore: *const ::core::ffi::c_void, dwflags: u32, pwszstorename: super::super::Foundation::PWSTR, pstoreinfo: *const CERT_PHYSICAL_STORE_INFO, pvreserved: *mut ::core::ffi::c_void, pvarg: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8654 #[cfg(feature = "Win32_Foundation")]
8655 pub type PFN_CERT_ENUM_SYSTEM_STORE = unsafe extern "system" fn(pvsystemstore: *const ::core::ffi::c_void, dwflags: CERT_SYSTEM_STORE_FLAGS, pstoreinfo: *const CERT_SYSTEM_STORE_INFO, pvreserved: *mut ::core::ffi::c_void, pvarg: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8656 #[cfg(feature = "Win32_Foundation")]
8657 pub type PFN_CERT_ENUM_SYSTEM_STORE_LOCATION = unsafe extern "system" fn(pwszstorelocation: super::super::Foundation::PWSTR, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, pvarg: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8658 #[cfg(feature = "Win32_Foundation")]
8659 pub type PFN_CERT_IS_WEAK_HASH = unsafe extern "system" fn(dwhashusetype: u32, pwszcnghashalgid: super::super::Foundation::PWSTR, dwchainflags: u32, psignerchaincontext: *const CERT_CHAIN_CONTEXT, ptimestamp: *const super::super::Foundation::FILETIME, pwszfilename: super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL;
8660 #[cfg(feature = "Win32_Foundation")]
8661 pub type PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK = unsafe extern "system" fn(pchaincontext: *const CERT_CHAIN_CONTEXT, pserverocspresponsecontext: *const CERT_SERVER_OCSP_RESPONSE_CONTEXT, pnewcrlcontext: *const CRL_CONTEXT, pprevcrlcontext: *const CRL_CONTEXT, pvarg: *mut ::core::ffi::c_void, dwwriteocspfileerror: u32);
8662 pub type PFN_CERT_STORE_PROV_CLOSE = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, dwflags: u32);
8663 #[cfg(feature = "Win32_Foundation")]
8664 pub type PFN_CERT_STORE_PROV_CONTROL = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, dwflags: u32, dwctrltype: u32, pvctrlpara: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8665 #[cfg(feature = "Win32_Foundation")]
8666 pub type PFN_CERT_STORE_PROV_DELETE_CERT = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pcertcontext: *const CERT_CONTEXT, dwflags: u32) -> super::super::Foundation::BOOL;
8667 #[cfg(feature = "Win32_Foundation")]
8668 pub type PFN_CERT_STORE_PROV_DELETE_CRL = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pcrlcontext: *const CRL_CONTEXT, dwflags: u32) -> super::super::Foundation::BOOL;
8669 #[cfg(feature = "Win32_Foundation")]
8670 pub type PFN_CERT_STORE_PROV_DELETE_CTL = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pctlcontext: *const CTL_CONTEXT, dwflags: u32) -> super::super::Foundation::BOOL;
8671 #[cfg(feature = "Win32_Foundation")]
8672 pub type PFN_CERT_STORE_PROV_FIND_CERT = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pfindinfo: *const CERT_STORE_PROV_FIND_INFO, pprevcertcontext: *const CERT_CONTEXT, dwflags: u32, ppvstoreprovfindinfo: *mut *mut ::core::ffi::c_void, ppprovcertcontext: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL;
8673 #[cfg(feature = "Win32_Foundation")]
8674 pub type PFN_CERT_STORE_PROV_FIND_CRL = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pfindinfo: *const CERT_STORE_PROV_FIND_INFO, pprevcrlcontext: *const CRL_CONTEXT, dwflags: u32, ppvstoreprovfindinfo: *mut *mut ::core::ffi::c_void, ppprovcrlcontext: *mut *mut CRL_CONTEXT) -> super::super::Foundation::BOOL;
8675 #[cfg(feature = "Win32_Foundation")]
8676 pub type PFN_CERT_STORE_PROV_FIND_CTL = unsafe extern "system" fn(hstoreprov: *const ::core::ffi::c_void, pfindinfo: *const CERT_STORE_PROV_FIND_INFO, pprevctlcontext: *const CTL_CONTEXT, dwflags: u32, ppvstoreprovfindinfo: *mut *mut ::core::ffi::c_void, ppprovctlcontext: *mut *mut CTL_CONTEXT) -> super::super::Foundation::BOOL;
8677 #[cfg(feature = "Win32_Foundation")]
8678 pub type PFN_CERT_STORE_PROV_FREE_FIND_CERT = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pcertcontext: *const CERT_CONTEXT, pvstoreprovfindinfo: *const ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL;
8679 #[cfg(feature = "Win32_Foundation")]
8680 pub type PFN_CERT_STORE_PROV_FREE_FIND_CRL = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pcrlcontext: *const CRL_CONTEXT, pvstoreprovfindinfo: *const ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL;
8681 #[cfg(feature = "Win32_Foundation")]
8682 pub type PFN_CERT_STORE_PROV_FREE_FIND_CTL = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pctlcontext: *const CTL_CONTEXT, pvstoreprovfindinfo: *const ::core::ffi::c_void, dwflags: u32) -> super::super::Foundation::BOOL;
8683 #[cfg(feature = "Win32_Foundation")]
8684 pub type PFN_CERT_STORE_PROV_GET_CERT_PROPERTY = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pcertcontext: *const CERT_CONTEXT, dwpropid: u32, dwflags: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL;
8685 #[cfg(feature = "Win32_Foundation")]
8686 pub type PFN_CERT_STORE_PROV_GET_CRL_PROPERTY = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pcrlcontext: *const CRL_CONTEXT, dwpropid: u32, dwflags: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL;
8687 #[cfg(feature = "Win32_Foundation")]
8688 pub type PFN_CERT_STORE_PROV_GET_CTL_PROPERTY = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pctlcontext: *const CTL_CONTEXT, dwpropid: u32, dwflags: u32, pvdata: *mut ::core::ffi::c_void, pcbdata: *mut u32) -> super::super::Foundation::BOOL;
8689 #[cfg(feature = "Win32_Foundation")]
8690 pub type PFN_CERT_STORE_PROV_READ_CERT = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pstorecertcontext: *const CERT_CONTEXT, dwflags: u32, ppprovcertcontext: *mut *mut CERT_CONTEXT) -> super::super::Foundation::BOOL;
8691 #[cfg(feature = "Win32_Foundation")]
8692 pub type PFN_CERT_STORE_PROV_READ_CRL = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pstorecrlcontext: *const CRL_CONTEXT, dwflags: u32, ppprovcrlcontext: *mut *mut CRL_CONTEXT) -> super::super::Foundation::BOOL;
8693 #[cfg(feature = "Win32_Foundation")]
8694 pub type PFN_CERT_STORE_PROV_READ_CTL = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pstorectlcontext: *const CTL_CONTEXT, dwflags: u32, ppprovctlcontext: *mut *mut CTL_CONTEXT) -> super::super::Foundation::BOOL;
8695 #[cfg(feature = "Win32_Foundation")]
8696 pub type PFN_CERT_STORE_PROV_SET_CERT_PROPERTY = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pcertcontext: *const CERT_CONTEXT, dwpropid: u32, dwflags: u32, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8697 #[cfg(feature = "Win32_Foundation")]
8698 pub type PFN_CERT_STORE_PROV_SET_CRL_PROPERTY = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pcrlcontext: *const CRL_CONTEXT, dwpropid: u32, dwflags: u32, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8699 #[cfg(feature = "Win32_Foundation")]
8700 pub type PFN_CERT_STORE_PROV_SET_CTL_PROPERTY = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pctlcontext: *const CTL_CONTEXT, dwpropid: u32, dwflags: u32, pvdata: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8701 #[cfg(feature = "Win32_Foundation")]
8702 pub type PFN_CERT_STORE_PROV_WRITE_CERT = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pcertcontext: *const CERT_CONTEXT, dwflags: u32) -> super::super::Foundation::BOOL;
8703 #[cfg(feature = "Win32_Foundation")]
8704 pub type PFN_CERT_STORE_PROV_WRITE_CRL = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pcrlcontext: *const CRL_CONTEXT, dwflags: u32) -> super::super::Foundation::BOOL;
8705 #[cfg(feature = "Win32_Foundation")]
8706 pub type PFN_CERT_STORE_PROV_WRITE_CTL = unsafe extern "system" fn(hstoreprov: *mut ::core::ffi::c_void, pctlcontext: *const CTL_CONTEXT, dwflags: u32) -> super::super::Foundation::BOOL;
8707 pub type PFN_CMSG_ALLOC = unsafe extern "system" fn(cb: usize) -> *mut ::core::ffi::c_void;
8708 #[cfg(feature = "Win32_Foundation")]
8709 pub type PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY = unsafe extern "system" fn(pcngcontentdecryptinfo: *mut CMSG_CNG_CONTENT_DECRYPT_INFO, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8710 #[cfg(feature = "Win32_Foundation")]
8711 pub type PFN_CMSG_CNG_IMPORT_KEY_AGREE = unsafe extern "system" fn(pcngcontentdecryptinfo: *mut CMSG_CNG_CONTENT_DECRYPT_INFO, pkeyagreedecryptpara: *const CMSG_CTRL_KEY_AGREE_DECRYPT_PARA, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8712 #[cfg(feature = "Win32_Foundation")]
8713 pub type PFN_CMSG_CNG_IMPORT_KEY_TRANS = unsafe extern "system" fn(pcngcontentdecryptinfo: *mut CMSG_CNG_CONTENT_DECRYPT_INFO, pkeytransdecryptpara: *const CMSG_CTRL_KEY_TRANS_DECRYPT_PARA, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8714 #[cfg(feature = "Win32_Foundation")]
8715 pub type PFN_CMSG_EXPORT_ENCRYPT_KEY = unsafe extern "system" fn(hcryptprov: usize, hencryptkey: usize, ppublickeyinfo: *const CERT_PUBLIC_KEY_INFO, pbdata: *mut u8, pcbdata: *mut u32) -> super::super::Foundation::BOOL;
8716 #[cfg(feature = "Win32_Foundation")]
8717 pub type PFN_CMSG_EXPORT_KEY_AGREE = unsafe extern "system" fn(pcontentencryptinfo: *const CMSG_CONTENT_ENCRYPT_INFO, pkeyagreeencodeinfo: *const CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, pkeyagreeencryptinfo: *mut CMSG_KEY_AGREE_ENCRYPT_INFO, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8718 #[cfg(feature = "Win32_Foundation")]
8719 pub type PFN_CMSG_EXPORT_KEY_TRANS = unsafe extern "system" fn(pcontentencryptinfo: *const CMSG_CONTENT_ENCRYPT_INFO, pkeytransencodeinfo: *const CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, pkeytransencryptinfo: *mut CMSG_KEY_TRANS_ENCRYPT_INFO, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8720 #[cfg(feature = "Win32_Foundation")]
8721 pub type PFN_CMSG_EXPORT_MAIL_LIST = unsafe extern "system" fn(pcontentencryptinfo: *const CMSG_CONTENT_ENCRYPT_INFO, pmaillistencodeinfo: *const CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO, pmaillistencryptinfo: *mut CMSG_MAIL_LIST_ENCRYPT_INFO, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8722 pub type PFN_CMSG_FREE = unsafe extern "system" fn(pv: *mut ::core::ffi::c_void);
8723 #[cfg(feature = "Win32_Foundation")]
8724 pub type PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY = unsafe extern "system" fn(pcontentencryptinfo: *mut CMSG_CONTENT_ENCRYPT_INFO, dwflags: u32, pvreserved: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8725 #[cfg(feature = "Win32_Foundation")]
8726 pub type PFN_CMSG_GEN_ENCRYPT_KEY = unsafe extern "system" fn(phcryptprov: *mut usize, paiencrypt: *const CRYPT_ALGORITHM_IDENTIFIER, pvencryptauxinfo: *const ::core::ffi::c_void, ppublickeyinfo: *const CERT_PUBLIC_KEY_INFO, pfnalloc: ::core::option::Option<PFN_CMSG_ALLOC>, phencryptkey: *mut usize, ppbencryptparameters: *mut *mut u8, pcbencryptparameters: *mut u32) -> super::super::Foundation::BOOL;
8727 #[cfg(feature = "Win32_Foundation")]
8728 pub type PFN_CMSG_IMPORT_ENCRYPT_KEY = unsafe extern "system" fn(hcryptprov: usize, dwkeyspec: u32, paiencrypt: *const CRYPT_ALGORITHM_IDENTIFIER, paipubkey: *const CRYPT_ALGORITHM_IDENTIFIER, pbencodedkey: *const u8, cbencodedkey: u32, phencryptkey: *mut usize) -> super::super::Foundation::BOOL;
8729 #[cfg(feature = "Win32_Foundation")]
8730 pub type PFN_CMSG_IMPORT_KEY_AGREE = unsafe extern "system" fn(pcontentencryptionalgorithm: *const CRYPT_ALGORITHM_IDENTIFIER, pkeyagreedecryptpara: *const CMSG_CTRL_KEY_AGREE_DECRYPT_PARA, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, phcontentencryptkey: *mut usize) -> super::super::Foundation::BOOL;
8731 #[cfg(feature = "Win32_Foundation")]
8732 pub type PFN_CMSG_IMPORT_KEY_TRANS = unsafe extern "system" fn(pcontentencryptionalgorithm: *const CRYPT_ALGORITHM_IDENTIFIER, pkeytransdecryptpara: *const CMSG_CTRL_KEY_TRANS_DECRYPT_PARA, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, phcontentencryptkey: *mut usize) -> super::super::Foundation::BOOL;
8733 #[cfg(feature = "Win32_Foundation")]
8734 pub type PFN_CMSG_IMPORT_MAIL_LIST = unsafe extern "system" fn(pcontentencryptionalgorithm: *const CRYPT_ALGORITHM_IDENTIFIER, pmaillistdecryptpara: *const CMSG_CTRL_MAIL_LIST_DECRYPT_PARA, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, phcontentencryptkey: *mut usize) -> super::super::Foundation::BOOL;
8735 #[cfg(feature = "Win32_Foundation")]
8736 pub type PFN_CMSG_STREAM_OUTPUT = unsafe extern "system" fn(pvarg: *const ::core::ffi::c_void, pbdata: *const u8, cbdata: u32, ffinal: super::super::Foundation::BOOL) -> super::super::Foundation::BOOL;
8737 pub type PFN_CRYPT_ALLOC = unsafe extern "system" fn(cbsize: usize) -> *mut ::core::ffi::c_void;
8738 #[cfg(feature = "Win32_Foundation")]
8739 pub type PFN_CRYPT_ASYNC_PARAM_FREE_FUNC = unsafe extern "system" fn(pszparamoid: super::super::Foundation::PSTR, pvparam: *const ::core::ffi::c_void);
8740 #[cfg(feature = "Win32_Foundation")]
8741 pub type PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC = unsafe extern "system" fn(pvcompletion: *mut ::core::ffi::c_void, dwcompletioncode: u32, pszurl: super::super::Foundation::PSTR, pszobjectoid: super::super::Foundation::PSTR, pvobject: *const ::core::ffi::c_void);
8742 #[cfg(feature = "Win32_Foundation")]
8743 pub type PFN_CRYPT_CANCEL_RETRIEVAL = unsafe extern "system" fn(dwflags: u32, pvarg: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8744 #[cfg(feature = "Win32_Foundation")]
8745 pub type PFN_CRYPT_ENUM_KEYID_PROP = unsafe extern "system" fn(pkeyidentifier: *const CRYPTOAPI_BLOB, dwflags: u32, pvreserved: *mut ::core::ffi::c_void, pvarg: *mut ::core::ffi::c_void, cprop: u32, rgdwpropid: *const u32, rgpvdata: *const *const ::core::ffi::c_void, rgcbdata: *const u32) -> super::super::Foundation::BOOL;
8746 #[cfg(feature = "Win32_Foundation")]
8747 pub type PFN_CRYPT_ENUM_OID_FUNC = unsafe extern "system" fn(dwencodingtype: u32, pszfuncname: super::super::Foundation::PSTR, pszoid: super::super::Foundation::PSTR, cvalue: u32, rgdwvaluetype: *const u32, rgpwszvaluename: *const super::super::Foundation::PWSTR, rgpbvaluedata: *const *const u8, rgcbvaluedata: *const u32, pvarg: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8748 #[cfg(feature = "Win32_Foundation")]
8749 pub type PFN_CRYPT_ENUM_OID_INFO = unsafe extern "system" fn(pinfo: *const CRYPT_OID_INFO, pvarg: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8750 #[cfg(feature = "Win32_Foundation")]
8751 pub type PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC = unsafe extern "system" fn(hncryptkey: usize, dwcertencodingtype: u32, pszpublickeyobjid: super::super::Foundation::PSTR, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void, pinfo: *mut CERT_PUBLIC_KEY_INFO, pcbinfo: *mut u32) -> super::super::Foundation::BOOL;
8752 #[cfg(feature = "Win32_Foundation")]
8753 pub type PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC = unsafe extern "system" fn(hbcryptkey: BCRYPT_KEY_HANDLE, dwcertencodingtype: u32, pszpublickeyobjid: super::super::Foundation::PSTR, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void, pinfo: *mut CERT_PUBLIC_KEY_INFO, pcbinfo: *mut u32) -> super::super::Foundation::BOOL;
8754 #[cfg(feature = "Win32_Foundation")]
8755 pub type PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC = unsafe extern "system" fn(dwcertencodingtype: u32, psignaturealgorithm: *const CRYPT_ALGORITHM_IDENTIFIER, ppvdecodedsignpara: *mut *mut ::core::ffi::c_void, ppwszcnghashalgid: *mut super::super::Foundation::PWSTR) -> super::super::Foundation::BOOL;
8756 pub type PFN_CRYPT_FREE = unsafe extern "system" fn(pv: *const ::core::ffi::c_void);
8757 #[cfg(feature = "Win32_Foundation")]
8758 pub type PFN_CRYPT_GET_SIGNER_CERTIFICATE = unsafe extern "system" fn(pvgetarg: *mut ::core::ffi::c_void, dwcertencodingtype: u32, psignerid: *const CERT_INFO, hmsgcertstore: *const ::core::ffi::c_void) -> *mut CERT_CONTEXT;
8759 #[cfg(feature = "Win32_Foundation")]
8760 pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH = unsafe extern "system" fn(pcontext: *const ::core::ffi::c_void, rgidentifierornamelist: *const *const CRYPTOAPI_BLOB, dwidentifierornamelistcount: u32) -> super::super::Foundation::BOOL;
8761 pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE = unsafe extern "system" fn(pplugincontext: *const ::core::ffi::c_void, pbdata: *const u8);
8762 pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER = unsafe extern "system" fn(pplugincontext: *const ::core::ffi::c_void, pidentifier: *const CRYPTOAPI_BLOB);
8763 #[cfg(feature = "Win32_Foundation")]
8764 pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD = unsafe extern "system" fn(pplugincontext: *const ::core::ffi::c_void, pwszpassword: super::super::Foundation::PWSTR);
8765 #[cfg(feature = "Win32_Foundation")]
8766 pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET = unsafe extern "system" fn(pplugincontext: *const ::core::ffi::c_void, pidentifier: *const CRYPTOAPI_BLOB, dwnametype: u32, pnameblob: *const CRYPTOAPI_BLOB, ppbcontent: *mut *mut u8, pcbcontent: *mut u32, ppwszpassword: *mut super::super::Foundation::PWSTR, ppidentifier: *mut *mut CRYPTOAPI_BLOB) -> super::super::Foundation::BOOL;
8767 #[cfg(feature = "Win32_Foundation")]
8768 pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE = unsafe extern "system" fn(pfnflush: ::core::option::Option<PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH>, pcontext: *const ::core::ffi::c_void, pdwexpectedobjectcount: *mut u32, ppfunctable: *mut *mut CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE, ppplugincontext: *mut *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8769 pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE = unsafe extern "system" fn(dwreason: CRYPT_OBJECT_LOCATOR_RELEASE_REASON, pplugincontext: *const ::core::ffi::c_void);
8770 #[cfg(feature = "Win32_Foundation")]
8771 pub type PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC = unsafe extern "system" fn(hkey: usize, dwcertencodingtype: u32, psignaturealgorithm: *const CRYPT_ALGORITHM_IDENTIFIER, pvdecodedsignpara: *const ::core::ffi::c_void, pwszcngpubkeyalgid: super::super::Foundation::PWSTR, pwszcnghashalgid: super::super::Foundation::PWSTR, pbcomputedhash: *const u8, cbcomputedhash: u32, pbsignature: *mut u8, pcbsignature: *mut u32) -> super::super::Foundation::BOOL;
8772 #[cfg(feature = "Win32_Foundation")]
8773 pub type PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC = unsafe extern "system" fn(dwcertencodingtype: u32, ppubkeyinfo: *const CERT_PUBLIC_KEY_INFO, psignaturealgorithm: *const CRYPT_ALGORITHM_IDENTIFIER, pvdecodedsignpara: *const ::core::ffi::c_void, pwszcngpubkeyalgid: super::super::Foundation::PWSTR, pwszcnghashalgid: super::super::Foundation::PWSTR, pbcomputedhash: *const u8, cbcomputedhash: u32, pbsignature: *const u8, cbsignature: u32) -> super::super::Foundation::BOOL;
8774 #[cfg(feature = "Win32_Foundation")]
8775 pub type PFN_CRYPT_XML_CREATE_TRANSFORM = unsafe extern "system" fn(ptransform: *const CRYPT_XML_ALGORITHM, pproviderin: *const CRYPT_XML_DATA_PROVIDER, pproviderout: *mut CRYPT_XML_DATA_PROVIDER) -> ::windows_sys::core::HRESULT;
8776 pub type PFN_CRYPT_XML_DATA_PROVIDER_CLOSE = unsafe extern "system" fn(pvcallbackstate: *mut ::core::ffi::c_void) -> ::windows_sys::core::HRESULT;
8777 pub type PFN_CRYPT_XML_DATA_PROVIDER_READ = unsafe extern "system" fn(pvcallbackstate: *mut ::core::ffi::c_void, pbdata: *mut u8, cbdata: u32, pcbread: *mut u32) -> ::windows_sys::core::HRESULT;
8778 #[cfg(feature = "Win32_Foundation")]
8779 pub type PFN_CRYPT_XML_ENUM_ALG_INFO = unsafe extern "system" fn(pinfo: *const CRYPT_XML_ALGORITHM_INFO, pvarg: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8780 pub type PFN_CRYPT_XML_WRITE_CALLBACK = unsafe extern "system" fn(pvcallbackstate: *mut ::core::ffi::c_void, pbdata: *const u8, cbdata: u32) -> ::windows_sys::core::HRESULT;
8781 #[cfg(feature = "Win32_Foundation")]
8782 pub type PFN_EXPORT_PRIV_KEY_FUNC = unsafe extern "system" fn(hcryptprov: usize, dwkeyspec: u32, pszprivatekeyobjid: super::super::Foundation::PSTR, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void, pprivatekeyinfo: *mut CRYPT_PRIVATE_KEY_INFO, pcbprivatekeyinfo: *mut u32) -> super::super::Foundation::BOOL;
8783 #[cfg(feature = "Win32_Foundation")]
8784 pub type PFN_FREE_ENCODED_OBJECT_FUNC = unsafe extern "system" fn(pszobjectoid: super::super::Foundation::PSTR, pobject: *mut CRYPT_BLOB_ARRAY, pvfreecontext: *mut ::core::ffi::c_void);
8785 #[cfg(feature = "Win32_Foundation")]
8786 pub type PFN_IMPORT_PRIV_KEY_FUNC = unsafe extern "system" fn(hcryptprov: usize, pprivatekeyinfo: *const CRYPT_PRIVATE_KEY_INFO, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void) -> super::super::Foundation::BOOL;
8787 #[cfg(feature = "Win32_Foundation")]
8788 pub type PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC = unsafe extern "system" fn(dwcertencodingtype: u32, pinfo: *const CERT_PUBLIC_KEY_INFO, dwflags: u32, pvauxinfo: *const ::core::ffi::c_void, phkey: *mut BCRYPT_KEY_HANDLE) -> super::super::Foundation::BOOL;
8789 pub type PFN_NCRYPT_ALLOC = unsafe extern "system" fn(cbsize: usize) -> *mut ::core::ffi::c_void;
8790 pub type PFN_NCRYPT_FREE = unsafe extern "system" fn(pv: *const ::core::ffi::c_void);
8791 pub const PKCS12_DISABLE_ENCRYPT_CERTIFICATES: u32 = 256u32;
8792 pub const PKCS12_ENCRYPT_CERTIFICATES: u32 = 512u32;
8793 pub const PKCS12_EXPORT_ECC_CURVE_OID: u32 = 8192u32;
8794 pub const PKCS12_EXPORT_ECC_CURVE_PARAMETERS: u32 = 4096u32;
8795 pub const PKCS12_EXPORT_PBES2_PARAMS: u32 = 128u32;
8796 pub const PKCS12_EXPORT_RESERVED_MASK: u32 = 4294901760u32;
8797 pub const PKCS12_EXPORT_SILENT: u32 = 64u32;
8798 pub const PKCS12_IMPORT_RESERVED_MASK: u32 = 4294901760u32;
8799 pub const PKCS12_IMPORT_SILENT: u32 = 64u32;
8800 pub const PKCS12_ONLY_CERTIFICATES: u32 = 1024u32;
8801 pub const PKCS12_ONLY_CERTIFICATES_PROVIDER_TYPE: u32 = 0u32;
8802 pub const PKCS12_ONLY_NOT_ENCRYPTED_CERTIFICATES: u32 = 2048u32;
8803 #[repr(C)]
8804 #[cfg(feature = "Win32_Foundation")]
8805 pub struct PKCS12_PBES2_EXPORT_PARAMS {
8806     pub dwSize: u32,
8807     pub hNcryptDescriptor: *mut ::core::ffi::c_void,
8808     pub pwszPbes2Alg: super::super::Foundation::PWSTR,
8809 }
8810 #[cfg(feature = "Win32_Foundation")]
8811 impl ::core::marker::Copy for PKCS12_PBES2_EXPORT_PARAMS {}
8812 #[cfg(feature = "Win32_Foundation")]
8813 impl ::core::clone::Clone for PKCS12_PBES2_EXPORT_PARAMS {
clone(&self) -> Self8814     fn clone(&self) -> Self {
8815         *self
8816     }
8817 }
8818 pub const PKCS12_PROTECT_TO_DOMAIN_SIDS: u32 = 32u32;
8819 pub const PKCS12_VIRTUAL_ISOLATION_KEY: u32 = 65536u32;
8820 pub const PKCS5_PADDING: u32 = 1u32;
8821 pub const PKCS_7_NDR_ENCODING: u32 = 131072u32;
8822 pub const PKCS_RSA_SSA_PSS_TRAILER_FIELD_BC: u32 = 1u32;
8823 pub const PLAINTEXTKEYBLOB: u32 = 8u32;
8824 #[repr(C)]
8825 #[cfg(feature = "Win32_Foundation")]
8826 pub struct POLICY_ELEMENT {
8827     pub targetEndpointAddress: super::super::Foundation::PWSTR,
8828     pub issuerEndpointAddress: super::super::Foundation::PWSTR,
8829     pub issuedTokenParameters: super::super::Foundation::PWSTR,
8830     pub privacyNoticeLink: super::super::Foundation::PWSTR,
8831     pub privacyNoticeVersion: u32,
8832     pub useManagedPresentation: super::super::Foundation::BOOL,
8833 }
8834 #[cfg(feature = "Win32_Foundation")]
8835 impl ::core::marker::Copy for POLICY_ELEMENT {}
8836 #[cfg(feature = "Win32_Foundation")]
8837 impl ::core::clone::Clone for POLICY_ELEMENT {
clone(&self) -> Self8838     fn clone(&self) -> Self {
8839         *self
8840     }
8841 }
8842 pub const PP_ADMIN_PIN: u32 = 31u32;
8843 pub const PP_APPLI_CERT: u32 = 18u32;
8844 pub const PP_CERTCHAIN: u32 = 9u32;
8845 pub const PP_CHANGE_PASSWORD: u32 = 7u32;
8846 pub const PP_CONTAINER: u32 = 6u32;
8847 pub const PP_CONTEXT_INFO: u32 = 11u32;
8848 pub const PP_CRYPT_COUNT_KEY_USE: u32 = 41u32;
8849 pub const PP_DISMISS_PIN_UI_SEC: u32 = 49u32;
8850 pub const PP_ENUMALGS: u32 = 1u32;
8851 pub const PP_ENUMALGS_EX: u32 = 22u32;
8852 pub const PP_ENUMCONTAINERS: u32 = 2u32;
8853 pub const PP_ENUMELECTROOTS: u32 = 26u32;
8854 pub const PP_ENUMEX_SIGNING_PROT: u32 = 40u32;
8855 pub const PP_ENUMMANDROOTS: u32 = 25u32;
8856 pub const PP_IMPTYPE: u32 = 3u32;
8857 pub const PP_KEYSET_TYPE: u32 = 27u32;
8858 pub const PP_KEYSPEC: u32 = 39u32;
8859 pub const PP_KEYSTORAGE: u32 = 17u32;
8860 pub const PP_KEYX_KEYSIZE_INC: u32 = 35u32;
8861 pub const PP_KEY_TYPE_SUBTYPE: u32 = 10u32;
8862 pub const PP_NAME: u32 = 4u32;
8863 pub const PP_PROVTYPE: u32 = 16u32;
8864 pub const PP_SESSION_KEYSIZE: u32 = 20u32;
8865 pub const PP_SGC_INFO: u32 = 37u32;
8866 pub const PP_SIG_KEYSIZE_INC: u32 = 34u32;
8867 pub const PP_SMARTCARD_GUID: u32 = 45u32;
8868 pub const PP_SMARTCARD_READER_ICON: u32 = 47u32;
8869 pub const PP_SYM_KEYSIZE: u32 = 19u32;
8870 pub const PP_UNIQUE_CONTAINER: u32 = 36u32;
8871 pub const PP_VERSION: u32 = 5u32;
8872 pub const PRIVATEKEYBLOB: u32 = 7u32;
8873 #[repr(C)]
8874 pub struct PRIVKEYVER3 {
8875     pub magic: u32,
8876     pub bitlenP: u32,
8877     pub bitlenQ: u32,
8878     pub bitlenJ: u32,
8879     pub bitlenX: u32,
8880     pub DSSSeed: DSSSEED,
8881 }
8882 impl ::core::marker::Copy for PRIVKEYVER3 {}
8883 impl ::core::clone::Clone for PRIVKEYVER3 {
clone(&self) -> Self8884     fn clone(&self) -> Self {
8885         *self
8886     }
8887 }
8888 pub const PROV_DH_SCHANNEL: u32 = 18u32;
8889 pub const PROV_DSS: u32 = 3u32;
8890 pub const PROV_DSS_DH: u32 = 13u32;
8891 pub const PROV_EC_ECDSA_FULL: u32 = 16u32;
8892 pub const PROV_EC_ECDSA_SIG: u32 = 14u32;
8893 pub const PROV_EC_ECNRA_FULL: u32 = 17u32;
8894 pub const PROV_EC_ECNRA_SIG: u32 = 15u32;
8895 #[repr(C)]
8896 #[cfg(feature = "Win32_Foundation")]
8897 pub struct PROV_ENUMALGS {
8898     pub aiAlgid: u32,
8899     pub dwBitLen: u32,
8900     pub dwNameLen: u32,
8901     pub szName: [super::super::Foundation::CHAR; 20],
8902 }
8903 #[cfg(feature = "Win32_Foundation")]
8904 impl ::core::marker::Copy for PROV_ENUMALGS {}
8905 #[cfg(feature = "Win32_Foundation")]
8906 impl ::core::clone::Clone for PROV_ENUMALGS {
clone(&self) -> Self8907     fn clone(&self) -> Self {
8908         *self
8909     }
8910 }
8911 #[repr(C)]
8912 #[cfg(feature = "Win32_Foundation")]
8913 pub struct PROV_ENUMALGS_EX {
8914     pub aiAlgid: u32,
8915     pub dwDefaultLen: u32,
8916     pub dwMinLen: u32,
8917     pub dwMaxLen: u32,
8918     pub dwProtocols: u32,
8919     pub dwNameLen: u32,
8920     pub szName: [super::super::Foundation::CHAR; 20],
8921     pub dwLongNameLen: u32,
8922     pub szLongName: [super::super::Foundation::CHAR; 40],
8923 }
8924 #[cfg(feature = "Win32_Foundation")]
8925 impl ::core::marker::Copy for PROV_ENUMALGS_EX {}
8926 #[cfg(feature = "Win32_Foundation")]
8927 impl ::core::clone::Clone for PROV_ENUMALGS_EX {
clone(&self) -> Self8928     fn clone(&self) -> Self {
8929         *self
8930     }
8931 }
8932 pub const PROV_FORTEZZA: u32 = 4u32;
8933 pub const PROV_INTEL_SEC: u32 = 22u32;
8934 pub const PROV_MS_EXCHANGE: u32 = 5u32;
8935 pub const PROV_REPLACE_OWF: u32 = 23u32;
8936 pub const PROV_RNG: u32 = 21u32;
8937 pub const PROV_RSA_AES: u32 = 24u32;
8938 pub const PROV_RSA_FULL: u32 = 1u32;
8939 pub const PROV_RSA_SCHANNEL: u32 = 12u32;
8940 pub const PROV_RSA_SIG: u32 = 2u32;
8941 pub const PROV_SPYRUS_LYNKS: u32 = 20u32;
8942 pub const PROV_SSL: u32 = 6u32;
8943 pub const PROV_STT_ACQ: u32 = 8u32;
8944 pub const PROV_STT_BRND: u32 = 9u32;
8945 pub const PROV_STT_ISS: u32 = 11u32;
8946 pub const PROV_STT_MER: u32 = 7u32;
8947 pub const PROV_STT_ROOT: u32 = 10u32;
8948 #[repr(C)]
8949 pub struct PUBKEY {
8950     pub magic: u32,
8951     pub bitlen: u32,
8952 }
8953 impl ::core::marker::Copy for PUBKEY {}
8954 impl ::core::clone::Clone for PUBKEY {
clone(&self) -> Self8955     fn clone(&self) -> Self {
8956         *self
8957     }
8958 }
8959 #[repr(C)]
8960 pub struct PUBKEYVER3 {
8961     pub magic: u32,
8962     pub bitlenP: u32,
8963     pub bitlenQ: u32,
8964     pub bitlenJ: u32,
8965     pub DSSSeed: DSSSEED,
8966 }
8967 impl ::core::marker::Copy for PUBKEYVER3 {}
8968 impl ::core::clone::Clone for PUBKEYVER3 {
clone(&self) -> Self8969     fn clone(&self) -> Self {
8970         *self
8971     }
8972 }
8973 pub const PUBLICKEYBLOB: u32 = 6u32;
8974 pub const PUBLICKEYBLOBEX: u32 = 10u32;
8975 #[repr(C)]
8976 pub struct PUBLICKEYSTRUC {
8977     pub bType: u8,
8978     pub bVersion: u8,
8979     pub reserved: u16,
8980     pub aiKeyAlg: u32,
8981 }
8982 impl ::core::marker::Copy for PUBLICKEYSTRUC {}
8983 impl ::core::clone::Clone for PUBLICKEYSTRUC {
clone(&self) -> Self8984     fn clone(&self) -> Self {
8985         *self
8986     }
8987 }
8988 #[repr(transparent)]
8989 pub struct PaddingMode(pub i32);
8990 impl PaddingMode {
8991     pub const None: Self = Self(1i32);
8992     pub const PKCS7: Self = Self(2i32);
8993     pub const Zeros: Self = Self(3i32);
8994     pub const ANSIX923: Self = Self(4i32);
8995     pub const ISO10126: Self = Self(5i32);
8996 }
8997 impl ::core::marker::Copy for PaddingMode {}
8998 impl ::core::clone::Clone for PaddingMode {
clone(&self) -> Self8999     fn clone(&self) -> Self {
9000         *self
9001     }
9002 }
9003 pub const RANDOM_PADDING: u32 = 2u32;
9004 #[repr(C)]
9005 #[cfg(feature = "Win32_Foundation")]
9006 pub struct RECIPIENTPOLICY {
9007     pub recipient: ENDPOINTADDRESS,
9008     pub issuer: ENDPOINTADDRESS,
9009     pub tokenType: super::super::Foundation::PWSTR,
9010     pub requiredClaims: CLAIMLIST,
9011     pub optionalClaims: CLAIMLIST,
9012     pub privacyUrl: super::super::Foundation::PWSTR,
9013     pub privacyVersion: u32,
9014 }
9015 #[cfg(feature = "Win32_Foundation")]
9016 impl ::core::marker::Copy for RECIPIENTPOLICY {}
9017 #[cfg(feature = "Win32_Foundation")]
9018 impl ::core::clone::Clone for RECIPIENTPOLICY {
clone(&self) -> Self9019     fn clone(&self) -> Self {
9020         *self
9021     }
9022 }
9023 #[repr(C)]
9024 #[cfg(feature = "Win32_Foundation")]
9025 pub struct RECIPIENTPOLICY2 {
9026     pub recipient: ENDPOINTADDRESS2,
9027     pub issuer: ENDPOINTADDRESS2,
9028     pub tokenType: super::super::Foundation::PWSTR,
9029     pub requiredClaims: CLAIMLIST,
9030     pub optionalClaims: CLAIMLIST,
9031     pub privacyUrl: super::super::Foundation::PWSTR,
9032     pub privacyVersion: u32,
9033 }
9034 #[cfg(feature = "Win32_Foundation")]
9035 impl ::core::marker::Copy for RECIPIENTPOLICY2 {}
9036 #[cfg(feature = "Win32_Foundation")]
9037 impl ::core::clone::Clone for RECIPIENTPOLICY2 {
clone(&self) -> Self9038     fn clone(&self) -> Self {
9039         *self
9040     }
9041 }
9042 pub const RECIPIENTPOLICYV1: u32 = 1u32;
9043 pub const RECIPIENTPOLICYV2: u32 = 2u32;
9044 pub const REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY: u32 = 2u32;
9045 pub const REPORT_NO_PRIVATE_KEY: u32 = 1u32;
9046 #[repr(C)]
9047 pub struct ROOT_INFO_LUID {
9048     pub LowPart: u32,
9049     pub HighPart: i32,
9050 }
9051 impl ::core::marker::Copy for ROOT_INFO_LUID {}
9052 impl ::core::clone::Clone for ROOT_INFO_LUID {
clone(&self) -> Self9053     fn clone(&self) -> Self {
9054         *self
9055     }
9056 }
9057 pub const RSA1024BIT_KEY: u32 = 67108864u32;
9058 #[repr(C)]
9059 pub struct RSAPUBKEY {
9060     pub magic: u32,
9061     pub bitlen: u32,
9062     pub pubexp: u32,
9063 }
9064 impl ::core::marker::Copy for RSAPUBKEY {}
9065 impl ::core::clone::Clone for RSAPUBKEY {
clone(&self) -> Self9066     fn clone(&self) -> Self {
9067         *self
9068     }
9069 }
9070 #[repr(C)]
9071 pub struct SCHANNEL_ALG {
9072     pub dwUse: u32,
9073     pub Algid: u32,
9074     pub cBits: u32,
9075     pub dwFlags: u32,
9076     pub dwReserved: u32,
9077 }
9078 impl ::core::marker::Copy for SCHANNEL_ALG {}
9079 impl ::core::clone::Clone for SCHANNEL_ALG {
clone(&self) -> Self9080     fn clone(&self) -> Self {
9081         *self
9082     }
9083 }
9084 pub const SCHANNEL_ENC_KEY: u32 = 1u32;
9085 pub const SCHANNEL_MAC_KEY: u32 = 0u32;
9086 pub const SIGNATURE_RESOURCE_NUMBER: u32 = 666u32;
9087 pub const SIMPLEBLOB: u32 = 1u32;
9088 pub const SITE_PIN_RULES_ALL_SUBDOMAINS_FLAG: u32 = 1u32;
9089 pub const SORTED_CTL_EXT_HASHED_SUBJECT_IDENTIFIER_FLAG: u32 = 1u32;
9090 #[repr(C)]
9091 pub struct SSL_ECCKEY_BLOB {
9092     pub dwCurveType: u32,
9093     pub cbKey: u32,
9094 }
9095 impl ::core::marker::Copy for SSL_ECCKEY_BLOB {}
9096 impl ::core::clone::Clone for SSL_ECCKEY_BLOB {
clone(&self) -> Self9097     fn clone(&self) -> Self {
9098         *self
9099     }
9100 }
9101 pub const SSL_F12_ERROR_TEXT_LENGTH: u32 = 256u32;
9102 #[repr(C)]
9103 pub struct SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS {
9104     pub cbSize: u32,
9105     pub dwErrorLevel: u32,
9106     pub dwErrorCategory: u32,
9107     pub dwReserved: u32,
9108     pub wszErrorText: [u16; 256],
9109 }
9110 impl ::core::marker::Copy for SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS {}
9111 impl ::core::clone::Clone for SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS {
clone(&self) -> Self9112     fn clone(&self) -> Self {
9113         *self
9114     }
9115 }
9116 pub const SSL_HPKP_HEADER_COUNT: u32 = 2u32;
9117 #[repr(C)]
9118 #[cfg(feature = "Win32_Foundation")]
9119 pub struct SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA {
9120     pub cbSize: u32,
9121     pub dwReserved: u32,
9122     pub pwszServerName: super::super::Foundation::PWSTR,
9123     pub rgpszHpkpValue: [super::super::Foundation::PSTR; 2],
9124 }
9125 #[cfg(feature = "Win32_Foundation")]
9126 impl ::core::marker::Copy for SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA {}
9127 #[cfg(feature = "Win32_Foundation")]
9128 impl ::core::clone::Clone for SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA {
clone(&self) -> Self9129     fn clone(&self) -> Self {
9130         *self
9131     }
9132 }
9133 pub const SSL_HPKP_PKP_HEADER_INDEX: u32 = 0u32;
9134 pub const SSL_HPKP_PKP_RO_HEADER_INDEX: u32 = 1u32;
9135 pub const SSL_KEY_PIN_ERROR_TEXT_LENGTH: u32 = 512u32;
9136 #[repr(C)]
9137 #[cfg(feature = "Win32_Foundation")]
9138 pub struct SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA {
9139     pub cbSize: u32,
9140     pub dwReserved: u32,
9141     pub pwszServerName: super::super::Foundation::PWSTR,
9142 }
9143 #[cfg(feature = "Win32_Foundation")]
9144 impl ::core::marker::Copy for SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA {}
9145 #[cfg(feature = "Win32_Foundation")]
9146 impl ::core::clone::Clone for SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA {
clone(&self) -> Self9147     fn clone(&self) -> Self {
9148         *self
9149     }
9150 }
9151 #[repr(C)]
9152 pub struct SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS {
9153     pub cbSize: u32,
9154     pub lError: i32,
9155     pub wszErrorText: [u16; 512],
9156 }
9157 impl ::core::marker::Copy for SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS {}
9158 impl ::core::clone::Clone for SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS {
clone(&self) -> Self9159     fn clone(&self) -> Self {
9160         *self
9161     }
9162 }
9163 pub const SYMMETRICWRAPKEYBLOB: u32 = 11u32;
9164 pub const TIMESTAMP_DONT_HASH_DATA: u32 = 1u32;
9165 pub const TIMESTAMP_FAILURE_BAD_ALG: u32 = 0u32;
9166 pub const TIMESTAMP_FAILURE_BAD_FORMAT: u32 = 5u32;
9167 pub const TIMESTAMP_FAILURE_BAD_REQUEST: u32 = 2u32;
9168 pub const TIMESTAMP_FAILURE_EXTENSION_NOT_SUPPORTED: u32 = 16u32;
9169 pub const TIMESTAMP_FAILURE_INFO_NOT_AVAILABLE: u32 = 17u32;
9170 pub const TIMESTAMP_FAILURE_POLICY_NOT_SUPPORTED: u32 = 15u32;
9171 pub const TIMESTAMP_FAILURE_SYSTEM_FAILURE: u32 = 25u32;
9172 pub const TIMESTAMP_FAILURE_TIME_NOT_AVAILABLE: u32 = 14u32;
9173 pub const TIMESTAMP_NO_AUTH_RETRIEVAL: u32 = 131072u32;
9174 pub const TIMESTAMP_VERIFY_CONTEXT_SIGNATURE: u32 = 32u32;
9175 pub const USAGE_MATCH_TYPE_AND: u32 = 0u32;
9176 pub const USAGE_MATCH_TYPE_OR: u32 = 1u32;
9177 pub const X509_NDR_ENCODING: u32 = 2u32;
9178 pub const ZERO_PADDING: u32 = 3u32;
9179 #[repr(C)]
9180 pub struct __NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT {
9181     pub Magic: u32,
9182     pub Version: u32,
9183     pub HeaderSize: u32,
9184     pub cbCertifyInfo: u32,
9185     pub cbSignature: u32,
9186     pub cbTpmPublic: u32,
9187 }
9188 impl ::core::marker::Copy for __NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT {}
9189 impl ::core::clone::Clone for __NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT {
clone(&self) -> Self9190     fn clone(&self) -> Self {
9191         *self
9192     }
9193 }
9194