ホーム › Security.Cryptography › BCryptGetPropertyFn
BCryptGetPropertyFn
コールバックシグネチャ
NTSTATUS BCryptGetPropertyFn(
BCRYPT_HANDLE hObject,
LPWSTR pszProperty,
BYTE* pbOutput,
DWORD cbOutput,
DWORD* pcbResult,
DWORD dwFlags
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| hObject | BCRYPT_HANDLE | プロパティ値を取得する対象の CNG オブジェクトを表すハンドルです。 |
| pszProperty | LPWSTR | 取得するプロパティの名前を格納した、null で終わる Unicode 文字列へのポインターです。定義済みの 暗号化プリミティブのプロパティ識別子 のいずれか、またはカスタムのプロパティ識別子を指定できます。 |
| pbOutput | BYTE* | プロパティ値を受け取るバッファーのアドレスです。cbOutput パラメーターには、このバッファーのサイズを指定します。 |
| cbOutput | DWORD | pbOutput バッファーのサイズ (バイト単位) です。 |
| pcbResult | DWORD* | pbOutput バッファーにコピーされたバイト数を受け取る ULONG 変数へのポインターです。pbOutput パラメーターが NULL の場合、この関数は必要なサイズ (バイト単位) をこのパラメーターが指す場所に格納します。 |
| dwFlags | DWORD | この関数の動作を変更するフラグのセットです。この関数に対して定義されているフラグはありません。 |
公式ドキュメント
BCryptGetProperty 関数は、CNG オブジェクトの名前付きプロパティの値を取得します。
戻り値
関数の成功または失敗を示すステータスコードを返します。
返される可能性のあるコードには、次のものが含まれます (ただし、これらに限定されません)。
| 戻り値 | 説明 |
|---|---|
| STATUS_SUCCESS | 関数は成功しました。 |
| STATUS_BUFFER_TOO_SMALL | cbOutput パラメーターで指定されたバッファーのサイズが、プロパティ値を格納するには足りません。 |
| STATUS_INVALID_HANDLE | hObject パラメーターのハンドルが無効です。 |
| STATUS_INVALID_PARAMETER | 1 つ以上のパラメーターが無効です。 |
| STATUS_NOT_SUPPORTED | pszProperty パラメーターで指定されたプロパティはサポートされていません。 |
解説(Remarks)
プロパティに必要なサイズを取得するには、pbOutput パラメーターに NULL を渡します。この関数は、必要なサイズ (バイト単位) を pcbResult パラメーターが指す値に格納します。
サポートされているアルゴリズムプロバイダーを使用する場合、BCryptGetProperty はユーザーモードとカーネルモードのどちらからでも呼び出せます。カーネルモードの呼び出し元は、PASSIVE_LEVEL IRQL または DISPATCH_LEVEL IRQL のいずれでも実行できます。現在の IRQL レベルが DISPATCH_LEVEL の場合、BCryptGetProperty 関数に渡すポインターは、ページングされない (またはロックされた) メモリを参照している必要があります。hObject パラメーターで指定したオブジェクトがハンドルである場合、そのハンドルは BCRYPT_PROV_DISPATCH フラグを使用して開かれている必要があります。
この関数をカーネルモードで呼び出すには、Driver Development Kit (DDK) に含まれる Cng.lib を使用します。Windows Server 2008 および Windows Vista: この関数をカーネルモードで呼び出すには、Ksecdd.lib を使用します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)