CryptSetProviderA 関数 (wincrypt.h)
現在のユーザーの既定のプロバイダーが設定されている場合、その既定のプロバイダーは、そのユーザーが dwProvType プロバイダーの種類を指定する CryptAcquireContext への呼び出しによって取得されますが、CSP 名は取得されません。
この関数の拡張バージョン である CryptSetProviderEx も使用できます。
構文
BOOL CryptSetProviderA(
[in] LPCSTR pszProvName,
[in] DWORD dwProvType
);
パラメーター
[in] pszProvName
新しい既定の CSP の名前。 名前付き CSP がコンピューターにインストールされている必要があります。 使用可能な暗号化プロバイダーの一覧については、「 暗号化プロバイダー名」を参照してください。
[in] dwProvType
pszProvName で指定された CSP のプロバイダーの種類。
戻り値
関数が成功した場合、戻り値は 0 以外 (TRUE) になります。
関数が失敗した場合、戻り値は 0 (FALSE) になります。 拡張エラー情報については、 GetLastError を呼び出します。 次の表に、考えられるエラー コードをいくつか示します。
リターン コード | 説明 |
---|---|
|
パラメーターの 1 つは、無効なハンドルを指定します。 |
|
パラメーターの 1 つに無効な値が含まれています。 これはほとんどの場合、無効なポインターです。 |
|
操作中にオペレーティング システムのメモリが不足しました。 |
エラーは、内部呼び出しから RegCreateKeyEx と RegSetValueEx に伝達することもできます。
解説
一般的なアプリケーションでは、 CryptAcquireContext を呼び出すときに CSP 名を指定しません。ただし、アプリケーションには特定の CSP を選択するオプションがあります。 これにより、ユーザーは適切なレベルのセキュリティを備えた CSP を自由に選択できます。
CryptSetProvider を呼び出すと、その時点から実行されるすべてのアプリケーションで使用される指定された型の CSP が決定されるため、ユーザーの同意なしにこの関数を呼び出さないでください。
注意
wincrypt.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CryptSetProvider を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |