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 |
---|---|
|
函式成功。 |
|
cbOutput 參數指定的緩衝區大小不夠大,無法保存屬性值。 |
|
hObject 參數中的句柄無效。 |
|
一或多個參數無效。 |
|
不支援 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 |