NCryptUnprotectSecret 函式 (ncryptprotect.h)
NCryptUnprotectSecret 函式會將數據解密至指定的保護描述元。 呼叫 NCryptProtectSecret 來加密數據。
語法
SECURITY_STATUS NCryptUnprotectSecret(
[out, optional] NCRYPT_DESCRIPTOR_HANDLE *phDescriptor,
[in] DWORD dwFlags,
[in] const BYTE *pbProtectedBlob,
ULONG cbProtectedBlob,
[in, optional] const NCRYPT_ALLOC_PARA *pMemPara,
[in, optional] HWND hWnd,
[out] BYTE **ppbData,
[out] ULONG *pcbData
);
參數
[out, optional] phDescriptor
保護描述項句柄的指標。
[in] dwFlags
旗標可以是零或位 OR 的下列值。
值 | 意義 |
---|---|
|
要求金鑰服務提供者未顯示使用者介面。 |
|
僅譯碼受保護數據 Blob 的標頭。 不會進行實際的解密。 |
[in] pbProtectedBlob
包含要解密之數據的位元組數位指標。
cbProtectedBlob
pbProtectedBlob 參數所指向之陣列中的位元組數目。
[in, optional] pMemPara
可用來指定自定義記憶體管理功能 之NCRYPT_ALLOC_PARA 結構的指標。 如果您將此自變數設定為 NULL,LocalAlloc 函式會在內部用來配置記憶體,而且您的應用程式必須呼叫 LocalFree 來釋放 ppbData 參數所指向的記憶體。
[in, optional] hWnd
使用者介面的父視窗句柄,如果有的話,就會顯示。
[out] ppbData
接收解密數據的指標的變數位址。
[out] pcbData
ULONG 變數的指標,其中包含ppbData變數所指向之解密數據的位元元組大小。
傳回值
傳回狀態代碼,指出函式的成功或失敗。 可能的傳回碼包括但不限於下列各項。
傳回碼 | Description |
---|---|
|
函式成功。 |
|
dwFlags 參數只能包含 NCRYPT_SILENT_FLAG 或 NCRYPT_UNPROTECT_NO_DECRYPT。 |
|
pbProtectedBlob、ppbData 和hsData 參數不能是 NULL。
cbData 參數不能小於一個。 |
備註
使用 NCryptUnprotectSecret 函式來解密密鑰、金鑰數據和密碼。 使用 NCryptStreamOpenToUnprotect 和 NCryptStreamUpdate 函式來解密較大的訊息。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | ncryptprotect.h |
程式庫 | NCrypt.lib |
Dll | NCrypt.dll |