共用方式為


BCryptGetProperty 函式 (bcrypt.h)

BCryptGetProperty 函式會擷取 CNG 物件的具名屬性值。

語法

NTSTATUS BCryptGetProperty(
  [in]  BCRYPT_HANDLE hObject,
  [in]  LPCWSTR       pszProperty,
  [out] PUCHAR        pbOutput,
  [in]  ULONG         cbOutput,
  [out] ULONG         *pcbResult,
  [in]  ULONG         dwFlags
);

參數

[in] hObject

表示要取得屬性值之 CNG 物件的句柄。

[in] pszProperty

Null 終止的 Unicode 字串指標,其中包含要擷取的屬性名稱。 這可以是其中一個預先定義的 Cryptography Primitive 屬性標識碼 或自定義屬性標識碼。

[out] pbOutput

接收屬性值之緩衝區的位址。 cbOutput 參數包含這個緩衝區的大小。

[in] cbOutput

pbOutput 緩衝區的大小,以位元組為單位。

[out] pcbResult

ULONG 變數的指標,接收複製到 pbOutput 緩衝區的位元組數目。 如果 pbOutput 參數為 NULL,則此函式會將所需的大小,以位元組為單位,放在此參數所指向的位置。

[in] dwFlags

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

ML-KEM 的此參數必須設定為零。

返回值

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

可能的回傳代碼包括但不限於下列代碼:

回傳碼 說明
STATUS_SUCCESS 函式成功。
STATUS_BUFFER_TOO_SMALL cbOutput 參數指定的緩衝區大小不夠大,無法保存屬性值。
STATUS_INVALID_HANDLE hObject 參數中的句柄無效。
STATUS_INVALID_PARAMETER 一或多個參數無效。
STATUS_NOT_SUPPORTED 不支援 pszProperty 參數所指定的屬性。

備註

若要取得屬性的必要大小,請傳遞 NULLpbOutput 參數。 此函式會將所需的大小,以位元組為單位,放在 由 HTTPResult 參數指向的值中。

根據提供者支持的處理器模式, BCryptGetProperty 可以從使用者模式或核心模式呼叫。 核心模式呼叫端可以在 IRQLPASSIVE_LEVELDISPATCH_LEVEL IRQL 上執行。 如果目前的 IRQL 層級 DISPATCH_LEVEL,任何傳遞至 BCryptGetProperty 函式的指標都必須參考非分頁或鎖定的記憶體。 如果 hObject 參數中指定的物件是句柄,則必須使用 BCRYPT_PROV_DISPATCH 旗標開啟它。

BCRYPT_PARAMETER_SET_NAME屬性必須在 BCrypt ML-DSA 索引鍵上設定,才能使用。 該數據可以從索引鍵物件擷取。

若要在核心模式中呼叫此函式,請使用 Cng.lib,這是驅動程式開發工具包 (DDK) 的一部分。 Windows Server 2008 和 Windows Vista: 若要在核心模式中呼叫此函式,請使用 Ksecdd.lib

需求

要求 價值觀
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
頁首 bcrypt.h
程式庫 Bcrypt.lib
DLL Bcrypt.dll