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 エラー コードを最後のエラーとして設定する必要があります。

戻り値

関数の成功または失敗を示す状態コードを返します。

可能なリターン コードには、次のものが含まれますが、これらに限定されません。

リターン コード 説明
ERROR_SUCCESS
プロバイダーは、指定されたアルゴリズムをサポートしています。
NTE_BAD_FLAGS
dwFlags パラメーターには、サポートされていない 1 つ以上のフラグが含まれています。
NTE_INVALID_HANDLE
hProvider パラメーターで指定されたハンドルが無効です。
NTE_INVALID_PARAMETER
1 つ以上のパラメーターが無効です。
NTE_NOT_SUPPORTED
プロバイダーは、指定されたアルゴリズムをサポートしていません。

注釈

プロバイダーがアルゴリズムをサポートしている場合、この関数は ERROR_SUCCESSを返します。 プロバイダーがアルゴリズムをサポートせず、他のエラーが発生しなかった場合、この関数は NTE_NOT_SUPPORTEDを返します。

サービスは 、StartService 関数からこの関数を呼び出してはなりません。 サービスが StartService 関数からこの関数を呼び出すと、デッドロックが発生し、サービスが応答を停止する可能性があります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー ncrypt.h
Library Ncrypt.lib
[DLL] Ncrypt.dll