Fungsi SHRegQueryUSValueA (shlwapi.h)
Mengambil jenis dan data untuk nama tertentu yang terkait dengan subkey registri terbuka dalam subtree khusus pengguna (HKEY_CURRENT_USER atau HKEY_LOCAL_MACHINE).
Sintaks
LSTATUS SHRegQueryUSValueA(
[in] HUSKEY hUSKey,
[in, optional] LPCSTR pszValue,
[in, out, optional] DWORD *pdwType,
[out, optional] void *pvData,
[in, out] DWORD *pcbData,
[in] BOOL fIgnoreHKCU,
[in, optional] void *pvDefaultData,
[in, optional] DWORD dwDefaultDataSize
);
Parameter
[in] hUSKey
Jenis: HUSKEY
Handel ke subkunji registri yang saat ini terbuka, atau salah satu nilai yang telah ditentukan sebelumnya berikut ini. Sub-kunci harus telah dibuka dengan hak akses KEY_SET_VALUE. Untuk informasi selengkapnya, lihat Keamanan Kunci Registri dan Hak Akses.
Handel ini dapat diperoleh melalui fungsi SHRegOpenUSKey .
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS
[in, optional] pszValue
Jenis: LPCTSTR
Penunjuk ke string yang dihentikan null yang berisi nama nilai yang akan dikueri.
[in, out, optional] pdwType
Jenis: LPDWORD*
Penunjuk ke variabel yang mengatur atau menerima jenis nilai kunci. Untuk informasi selengkapnya, lihat Jenis Data Registri. Parameter ini bisa NULL.
[out, optional] pvData
Jenis: LPVOID*
Penunjuk ke buffer yang menerima data nilai. Parameter ini bisa NULL jika data tidak diperlukan.
[in, out] pcbData
Jenis: LPDWORD*
Penunjuk ke variabel yang menentukan ukuran, dalam byte, dari buffer yang diacu oleh parameter pvData . Ketika fungsi kembali, variabel ini berisi ukuran data yang disalin ke pvData.
[in] fIgnoreHKCU
Jenis: BOOL
Variabel yang menentukan kunci mana yang akan dilihat. Saat diatur ke TRUE, SHRegQueryUSValue mengabaikan HKEY_CURRENT_USER dan mengembalikan nilai dari kunci di bawah HKEY_LOCAL_MACHINE.
[in, optional] pvDefaultData
Jenis: LPVOID*
Penunjuk ke data default.
[in, optional] dwDefaultDataSize
Jenis: DWORD
Panjangnya, dalam byte, dari data default.
Nilai kembali
Jenis: LSTATUS
Mengembalikan ERROR_SUCCESS jika berhasil, atau kode kesalahan bukan nol yang ditentukan dalam Winerror.h jika tidak. Anda dapat menggunakan fungsi FormatMessage dengan bendera FORMAT_MESSAGE_FROM_SYSTEM untuk mengambil deskripsi umum kesalahan.
Keterangan
Saat fIgnoreHKCU diatur ke TRUE, SHRegQueryUSValue mengembalikan nilai dari kunci di bawah HKEY_LOCAL_MACHINE. Saat diatur ke FALSE, SHRegQueryUSValue terlebih dahulu mencoba mengembalikan nilai dari kunci di bawah HKEY_CURRENT_USER. Namun, jika kunci tidak ditemukan di bawah HKEY_CURRENT_USER, nilai akan dikembalikan dari kunci di bawah HKEY_LOCAL_MACHINE. Jika tidak ada kunci, atau jika terjadi kesalahan dan dwDefaultDataSize bukan nol, maka data default disalin ke pvData dan ERROR_SUCCESS kembali. ERROR_SUCCESS kembali untuk data default dan non-default, dan tidak ada cara untuk membedakan nilai mana yang disalin ke pvData. Untuk mencegah penggunaan data default, atur pvDefaultData ke NULL dan dwDefaultDataSize ke nol.
Jika Anda hanya perlu membaca satu nilai, SHRegGetUSValue akan membuka kunci dan mengembalikan nilai. Untuk menggunakan SHRegQueryUSValue, Anda harus terlebih dahulu membuka kunci dengan SHRegOpenUSKey. Namun, setelah kunci dibuka, Anda dapat menggunakan SHRegQueryUSValue sebanyak yang diperlukan. Jika Anda perlu mengambil lebih dari satu nilai dari kunci yang sama, menggunakan beberapa panggilan ke SHRegQueryUSValue biasanya lebih efisien daripada SHRegGetUSValue, karena kunci hanya dibuka sekali.
Catatan
Header shlwapi.h mendefinisikan SHRegQueryUSValue sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praproscessor 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, Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shlwapi.h |
Pustaka | Shlwapi.lib |
DLL | Shlwapi.dll (versi 4.71 atau yang lebih baru) |