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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk