Fungsi RegOpenKeyExW (winreg.h)
Membuka kunci registri yang ditentukan. Perhatikan bahwa nama kunci tidak peka huruf besar/kecil.
Untuk melakukan operasi registri yang ditransaksikan pada kunci, panggil fungsi
Sintaksis
LSTATUS RegOpenKeyExW(
[in] HKEY hKey,
[in, optional] LPCWSTR lpSubKey,
[in] DWORD ulOptions,
[in] REGSAM samDesired,
[out] PHKEY phkResult
);
Parameter
[in] hKey
Handel ke kunci registri terbuka. Handel ini dikembalikan oleh fungsi
HKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS
[in, optional] lpSubKey
Nama subkuntang registri yang akan dibuka.
Nama kunci tidak peka huruf besar/kecil.
Jika parameter
Untuk informasi selengkapnya, lihat Batas Ukuran Elemen Registri.
[in] ulOptions
Menentukan opsi yang akan diterapkan saat membuka kunci. Atur parameter ini ke nol atau berikut ini:
Nilai | Arti |
---|---|
|
Kuncinya adalah tautan simbolis. Tautan simbolis registri hanya boleh digunakan jika benar-benar diperlukan. |
[in] samDesired
Masker yang menentukan hak akses yang diinginkan ke kunci yang akan dibuka. Fungsi gagal jika deskriptor keamanan kunci tidak mengizinkan akses yang diminta untuk proses panggilan. Untuk informasi selengkapnya, lihat Keamanan Kunci Registri dan Hak Akses.
[out] phkResult
Penunjuk ke variabel yang menerima handel ke kunci yang dibuka. Jika kunci bukan salah satu kunci registri yang telah ditentukan sebelumnya, panggil fungsi
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS.
Jika fungsi gagal, nilai pengembalian adalah kode kesalahan nonzero yang ditentukan dalam Winerror.h. Anda dapat menggunakan fungsi
Komentar
Tidak seperti fungsi RegCreateKeyEx, fungsi RegOpenKeyEx tidak membuat kunci yang ditentukan jika kunci tidak ada di registri.
Operasi registri tertentu melakukan pemeriksaan akses terhadap pendeskripsi keamanan kunci, bukan masker akses yang ditentukan ketika handel ke kunci diperoleh. Misalnya, bahkan jika kunci dibuka dengan KEY_READ yang disambungkan
Jika layanan atau aplikasi Anda meniru pengguna yang berbeda, jangan gunakan fungsi ini dengan HKEY_CURRENT_USER. Sebagai gantinya, panggil fungsi
Perhatikan bahwa operasi yang mengakses kunci registri tertentu dialihkan. Untuk informasi selengkapnya, lihat Virtualisasi Registri
Contoh
lResult = RegOpenKeyEx (hKeyRoot, lpSubKey, 0, KEY_READ, &hKey);
if (lResult != ERROR_SUCCESS)
{
if (lResult == ERROR_FILE_NOT_FOUND) {
printf("Key not found.\n");
return TRUE;
}
else {
printf("Error opening key.\n");
return FALSE;
}
}
Untuk melihat contoh ini dalam konteks, lihat Menghapus Kunci dengan Subkuncar.
Nota
Header winreg.h mendefinisikan RegOpenKeyEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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
Fungsi Registri
Gambaran Umum