Fungsi RegCreateKeyW (winreg.h)

Membuat kunci registri yang ditentukan. Jika kunci sudah ada di registri, fungsi akan membukanya.

Catatan Fungsi ini disediakan hanya untuk kompatibilitas dengan Windows versi 16-bit. Aplikasi harus menggunakan fungsi RegCreateKeyEx . Namun, aplikasi yang mencadangkan atau memulihkan status sistem termasuk file sistem dan sarang registri harus menggunakan Layanan Menyalin Bayangan Volume alih-alih fungsi registri.
 

Sintaks

LSTATUS RegCreateKeyW(
  [in]           HKEY    hKey,
  [in, optional] LPCWSTR lpSubKey,
  [out]          PHKEY   phkResult
);

Parameter

[in] hKey

Handel ke kunci registri terbuka. Proses panggilan harus memiliki akses KEY_CREATE_SUB_KEY ke kunci. Untuk informasi selengkapnya, lihat Keamanan Kunci Registri dan Hak Akses.

Akses untuk pembuatan kunci diperiksa terhadap pendeskripsi keamanan kunci registri, bukan masker akses yang ditentukan ketika handel diperoleh. Oleh karena itu, bahkan jika hKey dibuka dengan samDesired KEY_READ, itu dapat digunakan dalam operasi yang membuat kunci jika diizinkan oleh pendeskripsi keamanannya.

Handel ini dikembalikan oleh fungsi RegCreateKeyEx atau RegOpenKeyEx , atau dapat menjadi salah satu kunci yang telah ditentukan sebelumnya berikut:

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

[in, optional] lpSubKey

Nama kunci yang dibuka atau dibuat fungsi ini. Kunci ini harus merupakan subkuntangan kunci yang diidentifikasi oleh parameter hKey .

Untuk informasi selengkapnya tentang nama kunci, lihat Struktur Registri.

Jika hKey adalah salah satu kunci yang telah ditentukan sebelumnya, lpSubKey mungkin NULL. Dalam hal ini, phkResult menerima handel hKey yang sama yang diteruskan ke fungsi.

[out] phkResult

Penunjuk ke variabel yang menerima handel ke kunci yang dibuka atau dibuat. Jika kuncinya bukan salah satu kunci registri yang telah ditentukan sebelumnya, panggil fungsi RegCloseKey setelah Anda selesai menggunakan handel.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS.

Jika fungsi gagal, nilai yang dikembalikan adalah kode kesalahan bukan nol yang ditentukan dalam Winerror.h. Anda dapat menggunakan fungsi FormatMessage dengan bendera FORMAT_MESSAGE_FROM_SYSTEM untuk mendapatkan deskripsi umum tentang kesalahan tersebut.

Keterangan

Aplikasi tidak dapat membuat kunci yang merupakan anak langsung dari HKEY_USERS atau HKEY_LOCAL_MACHINE. Aplikasi dapat membuat subkunci di tingkat yang lebih rendah dari pohon HKEY_USERS atau HKEY_LOCAL_MACHINE .

Jika layanan atau aplikasi Anda meniru pengguna yang berbeda, jangan gunakan fungsi ini dengan HKEY_CURRENT_USER. Sebagai gantinya, panggil fungsi RegOpenCurrentUser .

Fungsi RegCreateKey membuat semua kunci yang hilang di jalur yang ditentukan. Aplikasi dapat memanfaatkan perilaku ini untuk membuat beberapa kunci sekaligus. Misalnya, aplikasi dapat membuat subkunci empat tingkat secara mendalam pada saat yang sama dengan tiga subkunci sebelumnya dengan menentukan string formulir berikut untuk parameter lpSubKey :

subkey1\subkey2\subkey3\subkey4

Perhatikan bahwa perilaku ini akan menghasilkan pembuatan kunci yang tidak diinginkan jika kunci yang ada di jalur dieja dengan tidak benar.

Catatan

Header winreg.h mendefinisikan RegCreateKey sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header winreg.h (termasuk Windows.h)
Pustaka Advapi32.lib
DLL Advapi32.dll

Lihat juga

RegCloseKey

RegCreateKeyEx

RegDeleteKey

RegOpenKeyEx

Fungsi Registri

Gambaran Umum Registri