ホーム › Security.Cryptography › NCryptOpenKeyFn
NCryptOpenKeyFn
コールバックシグネチャ
HRESULT NCryptOpenKeyFn(
NCRYPT_PROV_HANDLE hProvider,
NCRYPT_KEY_HANDLE* phKey,
LPWSTR pszKeyName,
DWORD dwLegacyKeySpec,
DWORD dwFlags
);パラメーター
| フィールド | 型 | 説明 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| hProvider | NCRYPT_PROV_HANDLE | キーを開く対象となるキーストレージプロバイダーのハンドルです。 | ||||||||
| phKey | NCRYPT_KEY_HANDLE* | キーハンドルを受け取る NCRYPT_KEY_HANDLE 変数へのポインターです。このハンドルの使用を終えたら、NCryptFreeObject 関数に渡して解放してください。 | ||||||||
| pszKeyName | LPWSTR | 取得するキーの名前を格納した、null で終わる Unicode 文字列へのポインターです。 | ||||||||
| dwLegacyKeySpec | DWORD | キーの種類を指定するレガシー識別子です。次のいずれかの値を指定できます。
| ||||||||
| dwFlags | DWORD | 関数の動作を変更するフラグです。0、または次の値のうち 1 つ以上の組み合わせを指定できます。
|
公式ドキュメント
NCryptOpenKey 関数は、指定した CNG キーストレージプロバイダーに存在するキーを開きます。
戻り値
関数の成功または失敗を示すステータスコードを返します。
返される可能性のあるコードには、次のものが含まれます (ただしこれらに限定されません)。
| 戻り値 | 説明 |
|---|---|
| 関数は成功しました。 | |
| dwFlags パラメーターに無効な値が含まれています。 | |
| 指定されたキーが見つかりませんでした。 | |
| hProvider パラメーターが無効です。 | |
| 1 つ以上のパラメーターが無効です。 | |
| メモリの割り当てに失敗しました。 |
解説(Remarks)
サービスは、StartService 関数からこの関数を呼び出してはなりません。サービスが StartService 関数からこの関数を呼び出すと、デッドロックが発生し、サービスが応答しなくなることがあります。
パフォーマンス上の理由から、Microsoft のソフトウェアベースの KSP は、キーへのハンドルが開かれている間、秘密キーのマテリアルをローカル セキュリティ機関 (LSA) にキャッシュします。LSA は特権を持つシステムプロセスです。そのため、システムの管理者特権を持つユーザーでない限り、他のユーザーがこのキャッシュされたキーのコピーにアクセスすることはできません。この動作を構成によって変更することはできません。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)