NCryptGetProperty 函式 (ncrypt.h)
NCryptGetProperty 函式會擷取密鑰儲存物件之具名屬性的值。
語法
SECURITY_STATUS NCryptGetProperty(
[in] NCRYPT_HANDLE hObject,
[in] LPCWSTR pszProperty,
[out] PBYTE pbOutput,
[in] DWORD cbOutput,
[out] DWORD *pcbResult,
[in] DWORD dwFlags
);
參數
[in] hObject
要取得 屬性的物件句柄。 這可以是提供者句柄 (NCRYPT_PROV_HANDLE) 或 (NCRYPT_KEY_HANDLE) 。
[in] pszProperty
Null 終止 Unicode 字串的指標,其中包含要擷取的屬性名稱。 這可以是其中一個預先定義的 金鑰記憶體屬性識別碼 或自定義屬性識別碼。
[out] pbOutput
接收屬性值的緩衝區位址。 cbOutput 參數包含這個緩衝區的大小。
若要計算緩衝區所需的大小,請將此參數設定為 NULL。 需要的大小,以位元組為單位,會以位元組為單位,傳回 於由 lbResult 參數指向的位置。
[in] cbOutput
pbOutput 緩衝區的大小,以位元組為單位。
[out] pcbResult
DWORD 變數的指標,接收複製到 pbOutput 緩衝區的位元組數目。
如果 pbOutput 參數為 NULL,則緩衝區所需的大小會放在此參數所指向的位置。
[in] dwFlags
修改函式行為的旗標。 這可以是零或下列值。
對於 NCRYPT_SECURITY_DESCR_PROPERTY 屬性,此參數也必須包含下列其中一個值,以識別要擷取的安全性描述元部分。
值 | 意義 |
---|---|
|
擷取對象擁有者 (SID) 的安全性識別碼。 使用 GetSecurityDescriptorOwner 函式,從 SECURITY_DESCRIPTOR 結構取得擁有者 SID。 |
|
擷取物件主要群組的 SID。 使用 GetSecurityDescriptorGroup 函式,從 SECURITY_DESCRIPTOR 結構取得群組 SID。 |
|
擷取 DACL) (任意存取控制清單。 使用 GetSecurityDescriptorSacl 函式從 SECURITY_DESCRIPTOR 結構取得 DACL。 |
|
擷取 SACL) (系統存取控制清單。 使用 GetSecurityDescriptorDacl 函式,從 SECURITY_DESCRIPTOR 結構取得 SACL。 |
傳回值
傳回狀態代碼,指出函式的成功或失敗。
可能的傳回碼包括但不限於下列各項。
傳回碼 | Description |
---|---|
ERROR_SUCCESS |
函式成功。 |
NTE_BAD_FLAGS |
參數 dwFlags 包含無效的值。 |
NTE_INVALID_HANDLE |
hObject 參數無效。 |
NTE_INVALID_PARAMETER |
一或多個參數無效。 |
NTE_NO_MEMORY |
發生記憶體配置失敗。 |
NTE_NOT_SUPPORTED |
物件不支援指定的屬性。 |
備註
服務不得從它的 StartService 函式呼叫此函式。 如果服務從其 StartService
函式呼叫此函式,可能會發生死結,而且服務可能會停止回應。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | ncrypt.h |
程式庫 | Ncrypt.lib |
Dll | Ncrypt.dll |