Bagikan melalui


Fungsi RegQueryMultipleValuesA (winreg.h)

Mengambil jenis dan data untuk daftar nama nilai yang terkait dengan kunci registri terbuka.

Sintaks

LSTATUS RegQueryMultipleValuesA(
  [in]                HKEY     hKey,
  [out]               PVALENTA val_list,
  [in]                DWORD    num_vals,
  [out, optional]     LPSTR    lpValueBuf,
  [in, out, optional] LPDWORD  ldwTotsize
);

Parameter

[in] hKey

Handel ke kunci registri terbuka. Kunci harus dibuka dengan hak akses KEY_QUERY_VALUE. Untuk mengetahui 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

[out] val_list

Penunjuk ke array dari

Struktur VALENT yang menjelaskan satu atau beberapa entri nilai. Pada input, anggota ve_valuename dari setiap struktur harus berisi penunjuk ke nama nilai yang akan diambil. Fungsi gagal jika salah satu nilai yang ditentukan tidak ada di kunci yang ditentukan.

Jika fungsi berhasil, setiap elemen array berisi informasi untuk nilai yang ditentukan.

[in] num_vals

Jumlah elemen dalam array val_list .

[out, optional] lpValueBuf

Penunjuk ke buffer. Jika fungsi berhasil, buffer menerima data untuk setiap nilai.

Jika lpValueBuf adalah NULL, nilai yang diarahkan oleh parameter ldwTotsize harus nol, dalam hal ini fungsi mengembalikan ERROR_MORE_DATA dan ldwTotsize menerima ukuran buffer yang diperlukan, dalam byte.

[in, out, optional] ldwTotsize

Penunjuk ke variabel yang menentukan ukuran buffer yang diacu oleh parameter lpValueBuf , dalam byte. Jika fungsi berhasil, ldwTotsize menerima jumlah byte yang disalin ke buffer. Jika fungsi gagal karena buffer terlalu kecil, ldwTotsize menerima ukuran yang diperlukan, dalam byte.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS.

Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan berikut.

Menampilkan kode Deskripsi
ERROR_CANTREAD

RegQueryMultipleValues tidak dapat membuat instans atau mengakses penyedia kunci dinamis.

ERROR_MORE_DATA
Buffer yang diacu oleh lpValueBuf terlalu kecil. Dalam hal ini, ldwTotsize menerima ukuran buffer yang diperlukan.
ERROR_TRANSFER_TOO_LONG
Ukuran total data yang diminta (ukuran array val_list + ldwTotSize) lebih dari batas sistem satu megabyte.

Keterangan

Fungsi RegQueryMultipleValues memungkinkan aplikasi untuk mengkueri satu atau beberapa nilai kunci statis atau dinamis. Jika kunci target adalah kunci statis, sistem menyediakan semua nilai dengan cara atomik. Untuk mencegah serialisasi yang berlebihan, data agregat yang dikembalikan oleh fungsi tidak boleh melebihi satu megabyte.

Jika kunci target adalah kunci dinamis, penyedianya harus menyediakan semua nilai dengan cara atomik. Ini berarti penyedia harus mengisi buffer hasil secara sinkron, memberikan tampilan yang konsisten dari semua nilai dalam buffer sambil menghindari serialisasi yang berlebihan. Penyedia dapat menyediakan paling banyak satu megabyte dari total data output selama panggilan atomik ke fungsi ini.

RegQueryMultipleValues didukung dari jarak jauh; artinya, parameter hKey yang diteruskan ke fungsi dapat merujuk ke komputer jarak jauh.

Catatan

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

   
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

Fungsi Registri

Gambaran Umum Registri

VALENT