Bagikan melalui


Fungsi RegEnumKeyExW (winreg.h)

Menghitung subkuntang dari kunci registri terbuka yang ditentukan. Fungsi ini mengambil informasi tentang satu subkuncar setiap kali dipanggil.

Sintaks

LSTATUS RegEnumKeyExW(
  [in]                HKEY      hKey,
  [in]                DWORD     dwIndex,
  [out]               LPWSTR    lpName,
  [in, out]           LPDWORD   lpcchName,
                      LPDWORD   lpReserved,
  [in, out]           LPWSTR    lpClass,
  [in, out, optional] LPDWORD   lpcchClass,
  [out, optional]     PFILETIME lpftLastWriteTime
);

Parameter

[in] hKey

Handel ke kunci registri terbuka. Kunci harus dibuka dengan hak akses KEY_ENUMERATE_SUB_KEYS. Untuk informasi selengkapnya, lihat Keamanan Kunci Registri dan Hak Akses.

Handel ini dikembalikan oleh fungsi RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx, atau RegOpenKeyTransacted . Ini juga bisa menjadi salah satu kunci yang telah ditentukan sebelumnya berikut:

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS

[in] dwIndex

Indeks subkunde yang akan diambil. Parameter ini harus nol untuk panggilan pertama ke fungsi RegEnumKeyEx lalu dinaikkan untuk panggilan berikutnya.

Karena subkunci tidak diurutkan, subkunci baru apa pun akan memiliki indeks arbitrer. Ini berarti bahwa fungsi dapat mengembalikan subkunci dalam urutan apa pun.

[out] lpName

Penunjuk ke buffer yang menerima nama subkunci, termasuk karakter null yang mengakhiri. Fungsi ini hanya menyalin nama subkunci, bukan hierarki kunci lengkap, ke buffer.

Jika fungsi gagal, tidak ada informasi yang disalin ke buffer ini.

Untuk informasi selengkapnya, lihat Batas Ukuran Elemen Registri.

[in, out] lpcchName

Penunjuk ke variabel yang menentukan ukuran buffer yang ditentukan oleh parameter lpName , dalam karakter. Ukuran ini harus mencakup karakter null yang mengakhiri. Jika fungsi berhasil, variabel yang ditunjukkan oleh lpcName berisi jumlah karakter yang disimpan dalam buffer, tidak termasuk karakter null yang mengakhiri.

Untuk menentukan ukuran buffer yang diperlukan, gunakan fungsi RegQueryInfoKey untuk menentukan ukuran subkunci terbesar untuk kunci yang diidentifikasi oleh parameter hKey .

lpReserved

Parameter ini dicadangkan dan harus NULL.

[in, out] lpClass

Penunjuk ke buffer yang menerima kelas yang ditentukan pengguna dari subkunci yang dijumlahkan. Parameter ini bisa NULL.

[in, out, optional] lpcchClass

Penunjuk ke variabel yang menentukan ukuran buffer yang ditentukan oleh parameter lpClass , dalam karakter. Ukuran harus mencakup karakter null yang mengakhiri. Jika fungsi berhasil, lpcClass berisi jumlah karakter yang disimpan dalam buffer, tidak termasuk karakter null yang mengakhiri. Parameter ini dapat berupa NULL hanya jika lpClass adalah NULL.

[out, optional] lpftLastWriteTime

Penunjuk ke struktur FILETIME yang menerima waktu di mana subkunci yang dijumlahkan terakhir kali ditulis. Parameter ini bisa NULL.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS.

Jika fungsi gagal, nilai yang dikembalikan adalah kode kesalahan sistem. Jika tidak ada lagi subkunjuk yang tersedia, fungsi mengembalikan ERROR_NO_MORE_ITEMS.

Jika buffer lpName terlalu kecil untuk menerima nama kunci, fungsi akan mengembalikan ERROR_MORE_DATA.

Keterangan

Untuk menghitung subkunci, aplikasi awalnya harus memanggil fungsi RegEnumKeyEx dengan parameter dwIndex diatur ke nol. Aplikasi kemudian harus meningkatkan parameter dwIndex dan memanggil RegEnumKeyEx sampai tidak ada lagi subkunci (artinya fungsi mengembalikan ERROR_NO_MORE_ITEMS).

Aplikasi juga dapat mengatur dwIndex ke indeks subkunci terakhir pada panggilan pertama ke fungsi dan mengurangi indeks hingga subkunci dengan indeks 0 dihitung. Untuk mengambil indeks subkuncu terakhir, gunakan fungsi RegQueryInfoKey .

Saat aplikasi menggunakan fungsi RegEnumKeyEx , aplikasi tidak boleh melakukan panggilan ke fungsi pendaftaran apa pun yang mungkin mengubah kunci yang dijumlahkan.

Perhatikan bahwa operasi yang mengakses kunci registri tertentu dialihkan. Untuk informasi selengkapnya, lihat Virtualisasi Registri dan Data Aplikasi 32-bit dan 64-bit di Registri.

Contoh

Misalnya, lihat Menghitung Subkunci Registri.

Catatan

Header winreg.h mendefinisikan RegEnumKeyEx 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

FILETIME

RegCreateKeyEx

RegDeleteKey

RegOpenKeyEx

RegQueryInfoKey

Fungsi Registri

Gambaran Umum Registri