BCryptSetPropertyFn
コールバックシグネチャ
NTSTATUS BCryptSetPropertyFn(
BCRYPT_HANDLE hObject,
LPWSTR pszProperty,
BYTE* pbInput,
DWORD cbInput,
DWORD dwFlags
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| hObject | BCRYPT_HANDLE | プロパティ値を設定する対象の CNG オブジェクトを表すハンドルです。 |
| pszProperty | LPWSTR | 設定するプロパティの名前を格納した、null で終わる Unicode 文字列へのポインターです。定義済みの 暗号化プリミティブのプロパティ識別子 のいずれか、またはカスタムのプロパティ識別子を指定できます。 |
| pbInput | BYTE* | 新しいプロパティ値が格納されたバッファーのアドレスです。cbInput パラメーターには、このバッファーのサイズを指定します。 |
| cbInput | DWORD | pbInput バッファーのサイズ (バイト単位) です。 |
| dwFlags | DWORD | この関数の動作を変更するフラグのセットです。この関数に対して定義されているフラグはありません。 |
公式ドキュメント
BCryptSetProperty 関数は、CNG オブジェクトの名前付きプロパティの値を設定します。
戻り値
関数の成功または失敗を示すステータス コードを返します。
返される可能性のあるコードには、次のものが含まれます (これらに限定されません)。
| 戻り値 | 説明 |
|---|---|
| STATUS_SUCCESS | 関数は成功しました。 |
| STATUS_INVALID_HANDLE | hObject パラメーターのハンドルが無効です。 |
| STATUS_INVALID_PARAMETER | 1 つ以上のパラメーターが無効です。 |
| STATUS_NOT_SUPPORTED | pszProperty パラメーターで指定された名前付きプロパティがサポートされていないか、読み取り専用です。 |
解説(Remarks)
サポートされているアルゴリズム プロバイダーを使用する場合、BCryptSetProperty はユーザー モードとカーネル モードのどちらからでも呼び出すことができます。カーネル モードの呼び出し元は、PASSIVE_LEVEL IRQL と DISPATCH_LEVEL IRQL のいずれでも実行できます。現在の IRQL レベルが DISPATCH_LEVEL の場合、BCryptSetProperty に渡すポインターはすべてページング不可 (またはロックされた) メモリを指している必要があります。hObject パラメーターで指定するオブジェクトがハンドルの場合、そのハンドルは BCRYPT_PROV_DISPATCH フラグを使用して開かれている必要があります。
この関数をカーネル モードで呼び出すには、Driver Development Kit (DDK) に含まれる Cng.lib を使用します。Windows Server 2008 および Windows Vista: この関数をカーネル モードで呼び出すには、Ksecdd.lib を使用します。
ML-DSA および ML-KEM のキーを生成する場合、キーをファイナライズする前に、キー ハンドルに BCRYPT_PARAMETER_SET_NAME プロパティを設定する必要があります。
プロパティ BCRYPT_CHAINING_MODE の値を設定する場合、pbInput パラメーターは cbInput によって範囲を制限されません。呼び出し元は、null で終わる有効な Unicode 文字列を渡すようにする必要があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)