Fungsi RegCreateKeyExW (winreg.h)
Membuat kunci registri yang ditentukan. Jika kunci sudah ada, fungsi akan membukanya. Perhatikan bahwa nama kunci tidak peka huruf besar/kecil.
Untuk melakukan operasi registri yang ditransaksikan pada kunci, panggil fungsi
Aplikasi yang mencadangkan atau memulihkan status sistem termasuk file sistem dan sarang registri harus menggunakan Volume Shadow Copy Service alih-alih fungsi registri.
Sintaksis
LSTATUS RegCreateKeyExW(
[in] HKEY hKey,
[in] LPCWSTR lpSubKey,
DWORD Reserved,
[in, optional] LPWSTR lpClass,
[in] DWORD dwOptions,
[in] REGSAM samDesired,
[in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes,
[out] PHKEY phkResult,
[out, optional] LPDWORD lpdwDisposition
);
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
Handel ini dikembalikan oleh fungsi
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
[in] lpSubKey
Nama subkunci yang dibuka atau dibuat fungsi ini. Subkunjuk yang ditentukan harus berupa subkunji kunci yang diidentifikasi oleh parameter
Jika lpSubKey adalah penunjuk ke string kosong, phkResult menerima handel baru ke kunci yang ditentukan oleh hKey.
Parameter ini tidak dapat null.
Reserved
Parameter ini dicadangkan dan harus nol.
[in, optional] lpClass
Jenis kelas yang ditentukan pengguna dari kunci ini. Parameter ini dapat diabaikan. Parameter ini dapat null.
[in] dwOptions
Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Arti |
---|---|
|
Jika bendera ini diatur, fungsi mengabaikan parameter samDesired |
|
Catatan Tautan simbolis Registri hanya boleh digunakan untuk kompatibilitas aplikasi ketika benar-benar diperlukan.
|
|
Kunci ini tidak volatil; ini adalah default. Informasi disimpan dalam file dan dipertahankan ketika sistem dimulai ulang. Fungsi |
|
Semua kunci yang dibuat oleh fungsi bersifat volatil. Informasi disimpan dalam memori dan tidak dipertahankan ketika sarang registri yang sesuai dibongkar. Untuk HKEY_LOCAL_MACHINE, ini hanya terjadi ketika sistem memulai pematian penuh. Untuk kunci registri yang dimuat oleh fungsi
Catatan Pada pematian yang dipilih pengguna, matikan startup cepat adalah perilaku default untuk sistem.
|
[in] samDesired
Masker yang menentukan hak akses untuk kunci yang akan dibuat. Untuk informasi selengkapnya, lihat Keamanan Kunci Registri dan Hak Akses.
[in, optional] lpSecurityAttributes
Penunjuk ke struktur SECURITY_ATTRIBUTES yang menentukan apakah handel yang dikembalikan dapat diwariskan oleh proses turunan. Jika lpSecurityAttributesNULL, handel tidak dapat diwariskan.
lpSecurityDescriptor anggota struktur menentukan deskriptor keamanan untuk kunci baru. Jika lpSecurityAttributesNULL, kunci akan mendapatkan deskriptor keamanan default. ACL dalam deskriptor keamanan default untuk kunci diwarisi dari kunci induk langsungnya.
[out] phkResult
Penunjuk ke variabel yang menerima handel ke kunci yang dibuka atau dibuat. Jika kunci bukan salah satu kunci registri yang telah ditentukan sebelumnya, panggil fungsi
[out, optional] lpdwDisposition
Penunjuk ke variabel yang menerima salah satu nilai disposisi berikut.
Nilai | Arti |
---|---|
|
Kunci tidak ada dan dibuat. |
|
Kunci ada dan hanya dibuka tanpa diubah. |
Jika lpdwDisposition NULL, tidak ada informasi disposisi yang dikembalikan.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS.
Jika fungsi gagal, nilai pengembalian adalah kode kesalahan nonzero yang ditentukan dalam Winerror.h. Anda dapat menggunakan fungsi
Komentar
Kunci yang dibuat fungsi
Fungsi RegCreateKeyEx 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 dalam pada saat yang sama dengan tiga subkunci sebelumnya dengan menentukan string formulir berikut untuk parameter lpSubKey:
subkunjuk1\subkueri2\subkey3\subkey4
Perhatikan bahwa perilaku ini akan mengakibatkan pembuatan kunci yang tidak diinginkan jika kunci yang ada di jalur salah dieja.
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
Perhatikan bahwa operasi yang mengakses kunci registri tertentu dialihkan. Untuk informasi selengkapnya, lihat Virtualisasi Registri
Nota
Header winreg.h mendefinisikan RegCreateKeyEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosedur 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
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Platform Target |
Windows |
Header |
winreg.h (termasuk Windows.h) |
Pustaka |
Advapi32.lib |
DLL |
Advapi32.dll |
Lihat juga
Fungsi Registri
Gambaran Umum