CryptInstallDefaultContext 関数 (wincrypt.h)

大事な この API は非推奨です。 新規および既存のソフトウェアでは 、Cryptography Next Generation API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。
 
CryptInstallDefaultContext 関数は、特定のプロバイダーを、指定したアルゴリズムの既定のコンテキスト プロバイダーとしてインストールします。

構文

BOOL CryptInstallDefaultContext(
  [in]  HCRYPTPROV           hCryptProv,
  [in]  DWORD                dwDefaultType,
  [in]  const void           *pvDefaultPara,
  [in]  DWORD                dwFlags,
  [in]  void                 *pvReserved,
  [out] HCRYPTDEFAULTCONTEXT *phDefaultContext
);

パラメーター

[in] hCryptProv

既定のコンテキストとして使用される暗号化サービス プロバイダーのハンドル。 このハンドルは、 CryptAcquireContext 関数を使用して取得されます。

[in] dwDefaultType

インストールするコンテキストの種類を指定します。 これは、次のいずれかの値である必要があります。

値 意味
CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID
1 つの証明書署名の種類を確認するために使用される既定のプロバイダーをインストールします。

pvDefaultPara パラメーターは、プロバイダーをインストールする証明書署名アルゴリズムのオブジェクト識別子 (たとえば、szOID_OIWSEC_md5RSA) を含む null で終わる ANSI 文字列のアドレスです。 pvDefaultPara パラメーターが NULL の場合、指定されたプロバイダーを使用してすべての証明書署名が検証されます。 CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG フラグが設定されている場合、pvDefaultPara パラメーターを NULL にすることはできません。

CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID
複数の証明書署名の種類を確認するために使用される既定のプロバイダーをインストールします。

pvDefaultPara パラメーターは、指定されたプロバイダーをインストールする証明書署名アルゴリズムを識別するオブジェクト識別子の配列を含むCRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA構造体のアドレスです。

[in] pvDefaultPara

既定のコンテキスト プロバイダーをインストールするオブジェクトを指定します。 このパラメーターの形式は、 dwDefaultType パラメーターの内容によって異なります。

[in] dwFlags

この関数の動作を変更するフラグのセット。 これは、0 または次の値の 1 つ以上の組み合わせにすることができます。

値 意味
CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG
hCryptProv パラメーターで指定されたプロバイダー ハンドルは、プロセスまたはスレッドが終了すると自動的に解放されます。 このフラグが指定されていない場合、ハンドルが不要になったときに CryptReleaseContext 関数を使用してプロバイダー ハンドルを解放するのは呼び出し元の責任です。 プロセスまたはスレッドが終了する前に CryptUninstallDefaultContext 関数が呼び出された場合、プロバイダー ハンドルは解放されません。
CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG
プロバイダーは、プロセス内のすべてのスレッドに適用されます。 このフラグが指定されていない場合、プロバイダーは呼び出し元のスレッドにのみ適用されます。 このフラグが設定されている場合、 pvDefaultPara パラメーターを NULL にすることはできません。

[in] pvReserved

このパラメーターは将来使用するために予約されています。

[out] phDefaultContext

既定のコンテキスト ハンドルを受け取る HCRYPTDEFAULTCONTEXT 変数のアドレス。 このハンドルは、既定のコンテキスト プロバイダーをアンインストールするために CryptUninstallDefaultContext 関数に渡されます。

戻り値

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

注釈

インストールされている既定のコンテキスト プロバイダーはスタック順に並べ替えられます。したがって、既定のコンテキスト プロバイダーを検索すると、システムは最後にインストールされたプロバイダーから始まります。 プロバイダーのスレッドごとの一覧は、プロバイダーのプロセスごとの一覧の前に検索されます。 一致が見つかると、システムは他の一致を検索し続けません。

インストールされているプロバイダー ハンドルは、 CryptUninstallDefaultContext が呼び出されるか、スレッドまたは プロセス が終了するまで使用できる状態を維持する必要があります。

要件

要件 値
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll

こちらもご覧ください

CryptUninstallDefaultContext