Fungsi RegEnumKeyA (winreg.h)
Menghitung subkey dari kunci registri terbuka yang ditentukan. Fungsi ini mengambil nama satu subkey setiap kali dipanggil.
Sintaks
LSTATUS RegEnumKeyA(
[in] HKEY hKey,
[in] DWORD dwIndex,
[out] LPSTR lpName,
[in] DWORD cchName
);
Parameter
[in] hKey
Handel ke kunci registri terbuka. Kunci harus telah 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_USERS
[in] dwIndex
Indeks subkunde hKey yang akan diambil. Nilai ini harus nol untuk panggilan pertama ke fungsi RegEnumKey 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.
Untuk informasi selengkapnya, lihat Batas Ukuran Elemen Registri.
[in] cchName
Ukuran buffer yang diacu oleh parameter lpName , dalam TCHAR. Untuk menentukan ukuran buffer yang diperlukan, gunakan fungsi RegQueryInfoKey untuk menentukan ukuran subkunci terbesar untuk kunci yang diidentifikasi oleh parameter hKey .
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan ERROR_SUCCESS.
Jika fungsi gagal, nilai yang dikembalikan adalah kode kesalahan sistem. Jika tidak ada lagi subkunjuk yang tersedia, fungsi akan 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 RegEnumKey dengan parameter dwIndex diatur ke nol. Aplikasi kemudian harus meningkatkan parameter dwIndex dan memanggil fungsi RegEnumKey sampai tidak ada lagi subkunci (artinya fungsi mengembalikan ERROR_NO_MORE_ITEMS).
Aplikasi juga dapat mengatur dwIndex ke indeks kunci terakhir pada panggilan pertama ke fungsi dan menurunkan indeks hingga subkunci dengan indeks 0 dijumlahkan. Untuk mengambil indeks subkey terakhir, gunakan RegQueryInfoKey.
Saat aplikasi menggunakan fungsi RegEnumKey , aplikasi tidak boleh melakukan panggilan ke fungsi pendaftaran apa pun yang mungkin mengubah kunci yang sedang dikueri.
Catatan
Header winreg.h mendefinisikan RegEnumKey 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
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 |