Share via


CryptCATAdminAcquireContext2 関数 (mscat.h)

CryptCATAdminAcquireContext2 関数は、特定のハッシュ アルゴリズムとハッシュ ポリシーのカタログ管理者コンテキストへのハンドルを取得します。

このハンドルは、後続の次の関数の呼び出しで使用できます。

この関数には、インポート ライブラリが関連付けされません。 LoadLibrary 関数と GetProcAddress 関数を使用して、Wintrust.dll に動的にリンクする必要があります。

構文

BOOL CryptCATAdminAcquireContext2(
  [out]          HCATADMIN               *phCatAdmin,
  [in, optional] const GUID              *pgSubsystem,
  [in, optional] PCWSTR                  pwszHashAlgorithm,
  [in, optional] PCCERT_STRONG_SIGN_PARA pStrongHashPolicy,
                 DWORD                   dwFlags
);

パラメーター

[out] phCatAdmin

この関数によって割り当てられるカタログ管理者コンテキスト ハンドルへのポインター。 ハンドルの使用が完了したら、 CryptCATAdminReleaseContext 関数を呼び出して閉じます。

[in, optional] pgSubsystem

サブシステムを識別する GUID へのポインター。 DRIVER_ACTION_VERIFYは、オペレーティング システム コンポーネントとサード パーティ製ドライバーのサブシステムを表します。 これは、ほとんどの実装で使用されるサブシステムです。

[in, optional] pwszHashAlgorithm

ハッシュの計算と検証に使用するハッシュ アルゴリズムの名前を指定する、null で終わるオプションの Unicode 文字列。 この値は NULL にすることができますNULL の場合、pStrongHashPolicy パラメーターに設定した値に応じて、既定のハッシュ アルゴリズムが選択される場合があります。 Windows 8 の既定のアルゴリズムは SHA1 です。 今後の Windows バージョンでは、既定値が変更される可能性があります。 詳細については、「解説」を参照してください。

[in, optional] pStrongHashPolicy

厳密な署名のチェックに使用されるパラメーターを含むCERT_STRONG_SIGN_PARA構造体へのポインター。 関数は、指定されたポリシーと pwszHashAlgorithm パラメーターまたはシステムの既定のアルゴリズム (アルゴリズムが指定されていない場合) で指定されたアルゴリズムを満たす最も低い共通ハッシュ アルゴリズムを選択します。

dwFlags

予約済み。 必ずゼロを指定します。

戻り値

関数が成功した場合、戻り値は 0 以外 (TRUE) になります

関数が失敗した場合、戻り値は 0 (FALSE) になります。 拡張エラー情報については、 GetLastError を呼び出します。

次の表に、 GetLastError 関数によって最も一般的に返されるエラー コードを示します。

リターン コード 説明
ERROR_INVALID_PARAMETER
phCatAdmin パラメーターを NULL にすることはできません。

dwFlags パラメーターは 0 である必要があります。

ERROR_NOT_ENOUGH_MEMORY
新しいカタログ管理者オブジェクトを作成するためのメモリが不足していました。
NTE_BAD_ALGID
pwszHashAlgorithm パラメーターで指定されたハッシュ アルゴリズムが見つかりません。

解説

この関数を使用すると、カタログ管理者コンテキストを必要とする関数で使用するハッシュ アルゴリズムを選択または選択できます。 ハッシュ アルゴリズムの名前は設定できますが、関数でアルゴリズムを決定することをお勧めします。 これにより、将来信頼できなくなる可能性のあるハード コーディング アルゴリズムからアプリケーションが保護されます。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mscat.h
Library Wintrust.lib
[DLL] Wintrust.dll

関連項目

CryptCATAdminAddCatalog

CryptCATAdminReleaseContext

CryptCATAdminRemoveCatalog