Bagikan melalui


Fungsi OREnumKey

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

Sintaks

DWORD OREnumKey(
  _In_        ORHKEY    Handle,
  _In_        DWORD     dwIndex,
  _Out_       PWSTR     lpName,
  _Inout_     PDWORD    lpcName,
  _Out_opt_   PWSTR     lpClass,
  _Inout_opt_ PDWORD    lpcClass,
  _Out_opt_   PFILETIME lpftLastWriteTime
);

Parameter

Handel [in]

Handel ke kunci registri terbuka di sarang registri offline.

dwIndex [in]

Indeks subkunde yang akan diambil. Parameter ini harus nol untuk panggilan pertama ke fungsi dan kemudian 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.

lpName [out]

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.

lpcName [masuk, keluar]

Penunjuk ke variabel yang menentukan ukuran buffer yang ditentukan oleh parameter lpName , di WCHAR. 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.

lpClass [keluar, opsional]

Pointer ke buffer yang menerima string kelas null-terminated dari subkunci yang dijumlahkan. Parameter ini bisa NULL.

lpcClass [masuk, keluar, opsional]

Penunjuk ke variabel yang menentukan ukuran buffer yang ditentukan oleh parameter lpClass , dalam WCHAR. 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.

lpftLastWriteTime [keluar, opsional]

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

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS.

Jika fungsi gagal, nilai yang dikembalikan adalah kode kesalahan bukan nol yang ditentukan dalam Winerror.h. Anda dapat menggunakan fungsi FormatMessage dengan bendera FORMAT_MESSAGE_FROM_SYSTEM untuk mendapatkan deskripsi umum tentang kesalahan tersebut. Kemungkinan kode kesalahan meliputi yang berikut ini:

  • Jika buffer lpName terlalu kecil untuk menerima nama kunci, fungsi akan mengembalikan ERROR_MORE_DATA.
  • Jika tidak ada lagi subkunjuk yang tersedia, fungsi mengembalikan ERROR_NO_MORE_ITEMS.

Keterangan

Untuk menghitung subkunci, aplikasi awalnya harus memanggil fungsi OREnumKey dengan parameter dwIndex diatur ke nol. Aplikasi kemudian harus meningkatkan parameter dwIndex dan memanggil OREnumKey sampai tidak ada lagi subkunci (yang berarti 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 ORQueryInfoKey .

Saat aplikasi menggunakan fungsi OREnumKey , aplikasi tidak boleh melakukan panggilan ke fungsi registri offline apa pun yang mungkin mengubah kunci yang dijumlahkan.

Persyaratan

Persyaratan Nilai
Redistribusi
Pustaka Windows Offline Registry versi 1.0 atau yang lebih baru
Header
Offreg.h
DLL
Offreg.dll

Lihat juga

ORCreateKey

ORDeleteKey

OROpenKey

ORQueryInfoKey