次の方法で共有


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を返します。 それ以外の場合、メソッドは適切なエラー コードを返します。 次の表は、考えられる戻り状態コードの一部を示しています。

リターン コード 説明
STATUS_INVALID_PARAMETER
メソッドに渡されるパラメーターの 1 つが無効であることを示します。
STATUS_OBJECT_NAME_NOT_FOUND
メソッドが名前付き値キーを見つけられなかったことを示します。

注釈

指定されたキーに、指定された ValueName と一致する名前を持つ既存の値エントリがない場合は、 SetValueKey 指定された名前を持つ新しい値エントリを作成します。 一致する値エントリ名が存在する場合、このルーチンは、指定された ValueName の元の値エントリを上書きします。 したがって、 は、 SetValueKey 特定のキーの値エントリごとに一意の名前を保持します。 各値エントリ名は、含まれているキーに対して一意である必要があります。レジストリ内の多くの異なるキーは、同じ名前の値エントリを持つことができます。

要件

要件
対象プラットフォーム ユニバーサル
Header portcls.h (Portcls.h を含む)
IRQL PASSIVE_LEVEL

こちらもご覧ください

IRegistryKey

UNICODE_STRING

ZwSetValueKey