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 字串的指標,其中包含要擷取的屬性名稱。 這可以是其中一個預先定義的 密碼編譯基本屬性標識碼 或自定義屬性標識碼。

[out] pbOutput

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

[in] cbOutput

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

[out] pcbResult

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

[in] dwFlags

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

傳回值

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

可能的傳回碼包括但不限於下列專案。

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

備註

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

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

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

規格需求

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