IRegistryKey::SetValueKey メソッド (portcls.h)
メソッドは SetValueKey
、開いているキーの下に値エントリを置き換えるか作成します。
構文
NTSTATUS SetValueKey(
[in, optional] PUNICODE_STRING ValueName,
[in] ULONG Type,
[in] PVOID Data,
[in] ULONG DataSize
);
パラメーター
[in, optional] ValueName
設定する値エントリの名前を含む文字列へのポインター。 名前文字列は、 UNICODE_STRING型の構造体によって指定されます。 値エントリに名前がない場合は、このパラメーターを NULL に設定 します。 呼び出し元が名前文字列を指定したが、指定された名前が含まれているキーに対して一意でない場合、 メソッドは既存の値エントリのデータを置き換えます。
[in] Type
ValueName に書き込むデータの種類を指定します。 このパラメーターを、次のいずれかのシステム定義型に設定します。
REG_BINARY
REG_DWORD
REG_DWORD_LITTLE_ENDIAN
REG_DWORD_BIG_ENDIAN
REG_EXPAND_SZ
REG_LINK
REG_MULTI_SZ
REG_NONE
REG_SZ
REG_RESOURCE_LIST
REG_RESOURCE_REQUIREMENTS_LIST
REG_FULL_RESOURCE_DESCRIPTOR
これらのパラメーター型については、「 ZwSetValueKey」を参照してください。
[in] Data
データを含むバッファーへのポインター。 このパラメーターは、関数に適したユーザー指定の構造体または値を指します。
[in] DataSize
データのサイズをバイト単位で指定 します。 このパラメーターは、Data が指す バッファーからメソッドがコピーするデータのバイト数を指定します。
戻り値
SetValueKey
は、指定した値キーの設定で呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは適切なエラー コードを返します。 次の表は、考えられる戻り状態コードの一部を示しています。
リターン コード | 説明 |
---|---|
|
メソッドに渡されるパラメーターの 1 つが無効であることを示します。 |
|
メソッドが名前付き値キーを見つけられなかったことを示します。 |
注釈
指定されたキーに、指定された ValueName と一致する名前を持つ既存の値エントリがない場合は、 SetValueKey
指定された名前を持つ新しい値エントリを作成します。 一致する値エントリ名が存在する場合、このルーチンは、指定された ValueName の元の値エントリを上書きします。 したがって、 は、 SetValueKey
特定のキーの値エントリごとに一意の名前を保持します。 各値エントリ名は、含まれているキーに対して一意である必要があります。レジストリ内の多くの異なるキーは、同じ名前の値エントリを持つことができます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | portcls.h (Portcls.h を含む) |
IRQL | PASSIVE_LEVEL |