Metode IRegistryKey::SetValueKey (portcls.h)

Metode SetValueKey mengganti atau membuat entri nilai di bawah kunci terbuka.

Sintaks

NTSTATUS SetValueKey(
  [in, optional] PUNICODE_STRING ValueName,
  [in]           ULONG           Type,
  [in]           PVOID           Data,
  [in]           ULONG           DataSize
);

Parameter

[in, optional] ValueName

Penunjuk ke string yang berisi nama entri nilai yang akan diatur. String nama ditentukan oleh struktur jenis UNICODE_STRING. Jika entri nilai tidak memiliki nama, atur parameter ini ke NULL. Jika pemanggil menentukan string nama tetapi nama yang diberikan tidak unik relatif terhadap kunci yang berisi, metode menggantikan data untuk entri nilai yang ada.

[in] Type

Menentukan jenis data yang akan ditulis untuk ValueName. Atur parameter ini ke salah satu jenis yang ditentukan sistem berikut:

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

Jenis parameter ini dijelaskan dalam ZwSetValueKey.

[in] Data

Penunjuk ke buffer yang berisi data. Parameter ini menunjuk ke struktur atau nilai yang disediakan pengguna yang sesuai dengan fungsi.

[in] DataSize

Menentukan ukuran dalam byte Data. Parameter ini menentukan berapa banyak byte data yang akan disalin metode dari buffer yang dituju oleh Data .

Mengembalikan nilai

SetValueKey mengembalikan STATUS_SUCCESS jika panggilan berhasil mengatur kunci nilai yang ditentukan. Jika tidak, metode mengembalikan kode kesalahan yang sesuai. Tabel berikut ini memperlihatkan beberapa kemungkinan kode status pengembalian.

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER
Menunjukkan bahwa salah satu parameter yang diteruskan ke metode tidak valid.
STATUS_OBJECT_NAME_NOT_FOUND
Menunjukkan bahwa metode tidak dapat menemukan kunci nilai bernama.

Keterangan

Jika kunci yang diberikan tidak memiliki entri nilai yang ada dengan nama yang cocok dengan ValueName yang diberikan, SetValueKey buat entri nilai baru dengan nama yang diberikan. Jika ada nama entri nilai yang cocok, rutinitas ini menimpa entri nilai asli untuk ValueName yang diberikan. Dengan demikian, SetValueKey pertahankan nama unik untuk setiap entri nilai dari kunci tertentu. Meskipun setiap nama entri nilai harus unik untuk kunci yang berisi, banyak kunci yang berbeda dalam registri dapat memiliki entri nilai dengan nama yang sama.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header portcls.h (termasuk Portcls.h)
IRQL PASSIVE_LEVEL

Lihat juga

IRegistryKey

UNICODE_STRING

ZwSetValueKey