Share via


NCryptIsAlgSupported 函式 (ncrypt.h)

NCryptIsAlgSupported 函式會判斷 CNG 密鑰儲存提供者是否支援特定的密碼編譯演算法。

語法

SECURITY_STATUS NCryptIsAlgSupported(
  [in] NCRYPT_PROV_HANDLE hProvider,
  [in] LPCWSTR            pszAlgId,
  [in] DWORD              dwFlags
);

參數

[in] hProvider

金鑰儲存提供者的句柄。 此句柄是使用 NCryptOpenStorageProvider 函 式取得。

[in] pszAlgId

Null 終止 Unicode 字串的指標,可識別有問題的密碼編譯演算法。 這可以是其中一個標準 CNG 演演算法標識碼 ,或是另一個已註冊演算法的標識碼。

[in] dwFlags

修改函式行為的旗標。 這可以是零 (0) 或下列值。

意義
NCRYPT_SILENT_FLAG
要求金鑰服務提供者 (KSP) 不會顯示任何使用者介面。 如果提供者必須顯示要運作的UI,呼叫會失敗,KSP應該將 NTE_SILENT_CONTEXT 錯誤碼設定為最後一個錯誤。

傳回值

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

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

傳回碼 Description
ERROR_SUCCESS
提供者支援指定的演算法。
NTE_BAD_FLAGS
dwFlags 參數包含一或多個不支援的旗標。
NTE_INVALID_HANDLE
hProvider 參數指定的句柄無效。
NTE_INVALID_PARAMETER
一或多個參數無效。
NTE_NOT_SUPPORTED
提供者不支援指定的演算法。

備註

如果提供者支持演算法,此函式會傳回 ERROR_SUCCESS。 如果提供者不支持演算法,而且沒有發生其他錯誤,此函式會 傳回NTE_NOT_SUPPORTED

服務不得從它的 StartService 函式呼叫此函式。 如果服務從其 StartService 函式呼叫此函式,可能會發生死結,而且服務可能會停止回應。

規格需求

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