Share via


BCryptEnumAlgorithms 函式 (bcrypt.h)

BCryptEnumAlgorithms 函式會取得已註冊演算法識別碼的清單。

語法

NTSTATUS BCryptEnumAlgorithms(
  [in]  ULONG                       dwAlgOperations,
  [out] ULONG                       *pAlgCount,
  [out] BCRYPT_ALGORITHM_IDENTIFIER **ppAlgList,
  [in]  ULONG                       dwFlags
);

參數

[in] dwAlgOperations

值,指定要包含在列舉中的演算法作業類型。 這可以是下列一或多個值的組合。

意義
BCRYPT_CIPHER_OPERATION
0x00000001
在列舉中包含加密演算法。
BCRYPT_HASH_OPERATION
0x00000002
在列舉中包含哈希演算法。
BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
0x00000004
在列舉中包含非對稱加密演算法。
BCRYPT_SECRET_AGREEMENT_OPERATION
0x00000008
在列舉中包含秘密合約演算法。
BCRYPT_SIGNATURE_OPERATION
0x00000010
在列舉中包含簽章演算法。
BCRYPT_RNG_OPERATION
0x00000020
在列舉中包含隨機數產生器 (RNG) 演算法。

[out] pAlgCount

ULONG 變數的指標,可接收 ppAlgList 陣列中的元素數目。

[out] ppAlgList

要接收已註冊演算法標識碼陣列的 BCRYPT_ALGORITHM_IDENTIFIER 結構指標位址。 當不再需要此指標時,必須傳遞至 BCryptFreeBuffer 函式。

[in] dwFlags

一組旗標,可修改此函式的行為。 此函式未定義旗標。

傳回值

傳回狀態代碼,指出函式的成功或失敗。

可能的傳回碼包括但不限於下列各項。

傳回碼 Description
STATUS_SUCCESS
函式成功。
STATUS_INVALID_PARAMETER
一或多個參數無效。
STATUS_NO_MEMORY
發生記憶體配置失敗。

備註

BCryptEnumAlgorithms 可以從使用者模式或核心模式呼叫。 核心模式呼叫端必須在 PASSIVE_LEVELIRQL 上執行。

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 bcrypt.h
程式庫 Bcrypt.lib
Dll Bcrypt.dll