CryptSetProviderExA 関数 (wincrypt.h)

大事な この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。
 
CryptSetProviderEx 関数は、ローカル コンピューターまたは現在のユーザーの指定したプロバイダーの種類の既定の暗号化サービス プロバイダー (CSP) を指定します。
メモ 一般的なアプリケーションでは、この関数は使用されません。 これは、管理アプリケーションでのみ使用することを目的としています。
 

構文

BOOL CryptSetProviderExA(
  [in] LPCSTR pszProvName,
  [in] DWORD  dwProvType,
  [in] DWORD  *pdwReserved,
  [in] DWORD  dwFlags
);

パラメーター

[in] pszProvName

新しい既定の CSP の名前。 これは、コンピューターにインストールされている CSP である必要があります。 使用可能な暗号化プロバイダーの一覧については、「 暗号化プロバイダー名」を参照してください。

[in] dwProvType

pszProvName で指定された CSP のプロバイダーの種類。

[in] pdwReserved

このパラメーターは将来使用するために予約されており、 NULL である必要があります。

[in] dwFlags

次のフラグ値が定義されています。

説明
CRYPT_DELETE_DEFAULT
0x00000004
既定値を削除するには、CRYPT_MACHINE_DEFAULTまたはCRYPT_USER_DEFAULTと組み合わせて使用できます。
CRYPT_USER_DEFAULT
0x00000002
指定した型のユーザー コンテキストの既定の CSP を設定します。
CRYPT_MACHINE_DEFAULT
0x00000001
指定した種類のコンピューターの既定の CSP を設定します。

戻り値

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

関数が失敗した場合、戻り値は 0 (FALSE) になります。 拡張エラー情報については、 GetLastError を呼び出します。 考えられるエラー コードには、次の表に示すエラー コードが含まれます。

リターン コード 説明
ERROR_INVALID_PARAMETER
パラメーターの 1 つに無効な値が含まれています。 これは、ほとんどの場合、無効なポインターです。
ERROR_NOT_ENOUGH_MEMORY
オペレーティング システムのメモリ不足。

解説

ほとんどのアプリケーションでは、 CryptAcquireContext 関数を呼び出すときに CSP 名を指定しません。ただし、アプリケーションは CSP 名を指定して、適切なレベルのセキュリティを持つ CSP を選択できます。 CryptSetProviderEx の呼び出しは、その時点からすべてのアプリケーションで使用される指定された型の CSP を決定するため、ユーザーの同意なしに CryptSetProviderEx を呼び出す必要はありません。

注意

wincrypt.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CryptSetProviderEx を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

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

関連項目

CryptAcquireContext

CryptSetProvider

サービス プロバイダー関数