Win32 API 日本語リファレンス
ホーム › Security.Cryptography › BCryptSetPropertyFn

BCryptSetPropertyFn

コールバック

シグネチャ

NTSTATUS BCryptSetPropertyFn(
    BCRYPT_HANDLE hObject,
    LPWSTR pszProperty,
    BYTE* pbInput,
    DWORD cbInput,
    DWORD dwFlags
);

パラメーター

フィールド型説明
hObjectBCRYPT_HANDLEプロパティ値を設定する対象の CNG オブジェクトを表すハンドルです。
pszPropertyLPWSTR設定するプロパティの名前を格納した、null で終わる Unicode 文字列へのポインターです。定義済みの 暗号化プリミティブのプロパティ識別子 のいずれか、またはカスタムのプロパティ識別子を指定できます。
pbInputBYTE*新しいプロパティ値が格納されたバッファーのアドレスです。cbInput パラメーターには、このバッファーのサイズを指定します。
cbInputDWORDpbInput バッファーのサイズ (バイト単位) です。
dwFlagsDWORDこの関数の動作を変更するフラグのセットです。この関数に対して定義されているフラグはありません。

公式ドキュメント

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 の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)