BCryptQueryProviderRegistration 函式 (bcrypt.h)

BCryptQueryProviderRegistration 函式會擷取 CNG 提供者的相關信息。

語法

NTSTATUS BCryptQueryProviderRegistration(
  [in]      LPCWSTR             pszProvider,
  [in]      ULONG               dwMode,
  [in]      ULONG               dwInterface,
  [in, out] ULONG               *pcbBuffer,
  [in, out] PCRYPT_PROVIDER_REG *ppBuffer
);

參數

[in] pszProvider

Null 終止 Unicode 字串的指標,其中包含提供者的名稱,以取得相關信息。

[in] dwMode

指定要擷取的信息類型。 這可以是下列其中一個值。

意義
CRYPT_ANY
擷取提供者的任何資訊。
CRYPT_UM
擷取提供者的使用者模式資訊。
CRYPT_KM
擷取提供者的核心模式資訊。
CRYPT_MM
擷取提供者的使用者模式和核心模式資訊。

[in] dwInterface

指定要擷取資訊的介面。 這可以是下列其中一個值。

意義
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
擷取非對稱加密介面。
BCRYPT_CIPHER_INTERFACE
擷取加密介面。
BCRYPT_HASH_INTERFACE
擷取哈希介面。
NCRYPT_KEY_STORAGE_INTERFACE
擷取金鑰儲存介面。
BCRYPT_RNG_INTERFACE
擷取隨機數產生器介面。
NCRYPT_SCHANNEL_INTERFACE
擷取 Schannel 介面。
BCRYPT_SECRET_AGREEMENT_INTERFACE
擷取秘密協定介面。
BCRYPT_SIGNATURE_INTERFACE
擷取簽章介面。

[in, out] pcbBuffer

ULONG 值的指標,在專案上,包含 ppBuffer 參數所指向之緩衝區的大小,以位元組為單位。 結束時,這個值會接收複製到緩衝區的位元組數目,或緩衝區的必要大小,以位元組為單位。

注意 這是整個緩衝區的大小總計,而不只是 CRYPT_PROVIDER_REG 結構的大小。 除了 CRYPT_PROVIDER_REG 結構之外,緩衝區必須能夠保存提供者的其他數據。
 

[in, out] ppBuffer

緩衝區指標的指標,可接收 CRYPT_PROVIDER_REG 結構和其他描述提供者的數據。

如果此參數為 NULL,此函式會傳回 STATUS_BUFFER_TOO_SMALL ,並將放在 由STATUS_BUFFER_TOO_SMALL 參數指向的值中,這是所有數據的必要大小,以位元組為單位。

如果此參數是 NULL 指標的位址,此函式會配置所需的記憶體、填入提供者資訊,並將這個記憶體的指標放在此參數中。 當您完成使用此記憶體時,請將此指標傳遞至 BCryptFreeBuffer 函 式來釋放它。

如果此參數是非 NULL 指標的位址,此函式會將提供者資訊複製到此緩衝區。 azurebuffer 參數必須包含整個緩衝區的大小,以位元組為單位。 如果緩衝區不夠大,無法保存所有提供者資訊,此函式會傳回 STATUS_BUFFER_TOO_SMALL

傳回值

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

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

傳回碼 Description
STATUS_SUCCESS
函式成功。
STATUS_INVALID_PARAMETER
一或多個參數無效。
STATUS_BUFFER_TOO_SMALL
由 azureBuffer 參數指定的大小不夠大,無法保存所有數據。
STATUS_NOT_FOUND
找不到符合指定準則的提供者。

備註

BCryptQueryProviderRegistration 只能在使用者模式中呼叫。

規格需求

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

另請參閱

BCryptFreeBuffer

CRYPT_PROVIDER_REG