Bagikan melalui


Fungsi RegEnumKeyA (winreg.h)

Menghitung subkuntang kunci registri terbuka yang ditentukan. Fungsi ini mengambil nama satu subkunjuk setiap kali dipanggil.

Catatan Fungsi ini disediakan hanya untuk kompatibilitas dengan Windows versi 16-bit. Aplikasi harus menggunakan fungsi RegEnumKeyEx.
 

Sintaksis

LSTATUS RegEnumKeyA(
  [in]  HKEY  hKey,
  [in]  DWORD dwIndex,
  [out] LPSTR lpName,
  [in]  DWORD cchName
);

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 RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx, atau fungsi RegOpenKeyTransacted. Ini juga bisa menjadi salah satu kunci berikut yang telah ditentukan sebelumnya:

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

[in] dwIndex

Indeks subkunjuk hKey yang akan diambil. Nilai ini harus nol untuk panggilan pertama ke fungsi RegEnumKey lalu ditambahkan 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 ditunjukkan 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.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS.

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

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

Komentar

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 ini juga dapat mengatur dwIndex ke indeks kunci terakhir pada panggilan pertama ke fungsi dan mengurangi indeks hingga subkunci dengan indeks 0 dijumlahkan. Untuk mengambil indeks subkunci terakhir, gunakan RegQueryInfoKey.

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

Nota

Header winreg.h mendefinisikan RegEnumKey sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem 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

RegCloseKey

RegCreateKeyEx

regDeleteKey

RegEnumKeyEx

RegOpenKeyEx

RegQueryInfoKey

Fungsi Registri

Gambaran Umum Registri