Win32 API 日本語リファレンス
ホーム › Security.Cryptography › NCryptEnumAlgorithmsFn

NCryptEnumAlgorithmsFn

コールバック

シグネチャ

HRESULT NCryptEnumAlgorithmsFn(
    NCRYPT_PROV_HANDLE hProvider,
    DWORD dwAlgClass,
    DWORD* pdwAlgCount,
    NCryptAlgorithmName** ppAlgList,
    DWORD dwFlags
);

パラメーター

フィールド型説明
hProviderNCRYPT_PROV_HANDLEアルゴリズムを列挙する対象のキーストレージプロバイダーのハンドルです。このハンドルは NCryptOpenStorageProvider 関数で取得します。
dwAlgClassDWORD
pdwAlgCountDWORD*ppAlgList 配列の要素数を受け取る DWORD のアドレスです。
ppAlgListNCryptAlgorithmName**

登録されたアルゴリズム名の配列を受け取る NCryptAlgorithmName 構造体ポインターのアドレスです。pdwAlgCount パラメーターが指す変数が、この配列の要素数を受け取ります。

このメモリーが不要になったら、このポインターを NCryptFreeBuffer 関数に渡して解放する必要があります。

dwFlagsDWORD

関数の動作を変更するフラグです。ゼロ (0) または次の値を指定できます。

値 意味
NCRYPT_SILENT_FLAG
キーストレージプロバイダー (KSP) がユーザーインターフェイスを表示しないよう要求します。動作のためにプロバイダーが UI を表示しなければならない場合、この呼び出しは失敗し、KSP は最後のエラーとして NTE_SILENT_CONTEXT エラーコードを設定します。

公式ドキュメント

NCryptEnumAlgorithms 関数は、指定したキーストレージプロバイダーがサポートするアルゴリズムの名前を取得します。

戻り値

関数の成功または失敗を示すステータスコードを返します。

戻り値には次のようなものがありますが、これらに限定されません。

戻り値 説明
ERROR_SUCCESS
関数は成功しました。
NTE_BAD_FLAGS
dwFlags パラメーターに有効でない値が含まれています。
NTE_INVALID_HANDLE
hProvider パラメーターが有効ではありません。
NTE_INVALID_PARAMETER
1 つ以上のパラメーターが有効ではありません。
NTE_NO_MEMORY
メモリーの割り当てに失敗しました。

解説(Remarks)

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

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)