BCryptResolveProviders 函式 (bcrypt.h)
BCryptResolveProviders 函式會取得所有符合指定準則之提供者的集合。
語法
NTSTATUS BCryptResolveProviders(
[in, optional] LPCWSTR pszContext,
[in, optional] ULONG dwInterface,
[in, optional] LPCWSTR pszFunction,
[in, optional] LPCWSTR pszProvider,
[in] ULONG dwMode,
[in] ULONG dwFlags,
[in, out] ULONG *pcbBuffer,
[in, out] PCRYPT_PROVIDER_REFS *ppBuffer
);
參數
[in, optional] pszContext
Null 終止 Unicode 字串的指標,其中包含要取得提供者之內容的標識碼。 如果此值設定為 NULL 或空字串,則會假設預設內容。
[in, optional] dwInterface
提供者必須支持的介面標識碼。 這必須是其中一個 CNG 介面識別碼。 如果 pszFunction 參數不是 NULL 或空字串,您可以將 dwInterface 設定為零,以強制函式推斷介面。
[in, optional] pszFunction
Null 終止 Unicode 字串的指標,其中包含提供者必須支持的演算法或函式識別碼。 這可以是其中一個標準 CNG 演演算法標識碼 ,或是另一個已註冊演算法的標識碼。 如果 dwInterface 設定為非零值, 則 pszFunction 可以是 NULL ,以包含所有演算法和函式。
[in, optional] pszProvider
Null 終止 Unicode 字串的指標,其中包含要擷取的提供者名稱。 如果此參數為 NULL,則會包含所有提供者。
此參數可讓您指定特定提供者,以擷取多個提供者符合其他準則的事件。
[in] dwMode
指定要擷取的提供者類型。 這可以是下列其中一個值。
值 | 意義 |
---|---|
|
擷取使用者模式提供者。 |
|
擷取核心模式提供者。 |
|
擷取使用者模式和核心模式提供者。 |
[in] dwFlags
一組旗標,可修改此函式的行為。
這可以是零或下列一或多個值的組合。
值 | 意義 |
---|---|
|
此函式會擷取每個符合指定準則的提供者所支援的所有函式。 如果未指定此旗標,此函式只會擷取符合指定準則之提供者或提供者的第一個函式。 |
|
此函式會擷取符合指定準則的所有提供者。 如果未指定此旗標,此函式只會擷取符合指定準則的第一個提供者。 |
[in, out] pcbBuffer
在專案上, DWORD 值的指標包含 ppBuffer 參數所指向緩衝區的大小,以位元組為單位。 結束時,這個值會接收複製到緩衝區的位元組數目,或緩衝區所需的大小,以位元組為單位。
[in, out] ppBuffer
接收符合指定準則之提供者集合 之CRYPT_PROVIDER_REFS 指標的位址。
如果此參數為 NULL,則此函式會 傳回STATUS_SUCCESS ,並將它放在 由STATUS_SUCCESS 參數所指向的值,也就是所有數據的必要大小,以位元組為單位。
如果此參數是 NULL 指標的位址,此函式會配置所需的記憶體、使用提供者的相關信息填入記憶體,並將指標放在此參數中。 當您完成使用此記憶體時,請將此指標傳遞至 BCryptFreeBuffer 函 式來釋放它。
如果此參數是非 NULL 指標的位址,此函式會將提供者資訊複製到此緩衝區。 其參數必須包含整個緩衝區的大小,以位元組為單位。 如果緩衝區不夠大,無法保存所有提供者資訊,此函式會 傳回STATUS_BUFFER_TOO_SMALL。
傳回值
傳回狀態代碼,指出函式的成功或失敗。
可能的傳回碼包括但不限於下列專案。
傳回碼 | Description |
---|---|
|
函式成功。 |
|
由參數指定的大小不夠大,無法保存所有數據。 |
|
一或多個參數無效。 |
|
找不到符合所有指定準則的提供者。 |
備註
BCryptResolveProviders 可以從使用者模式或核心模式呼叫。 核心模式呼叫端必須在 IRQL PASSIVE_LEVEL執行。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | bcrypt.h |
程式庫 | Bcrypt.lib |
Dll | Bcrypt.dll |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應