Fungsi RegOpenKeyTransactedW (winreg.h)
Membuka kunci registri yang ditentukan dan mengaitkannya dengan transaksi. Perhatikan bahwa nama kunci tidak peka huruf besar/kecil.
Sintaks
LSTATUS RegOpenKeyTransactedW(
[in] HKEY hKey,
[in, optional] LPCWSTR lpSubKey,
[in] DWORD ulOptions,
[in] REGSAM samDesired,
[out] PHKEY phkResult,
[in] HANDLE hTransaction,
PVOID pExtendedParemeter
);
Parameter
[in] hKey
Handel ke kunci registri terbuka. Handel ini dikembalikan oleh fungsi RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx, atau RegOpenKeyTransacted . Ini juga bisa menjadi salah satu kunci yang telah ditentukan sebelumnya berikut:
HKEY_USERSHKEY_CLASSES_ROOT HKEY_CURRENT_USERHKEY_LOCAL_MACHINE
[in, optional] lpSubKey
Nama subkuntang registri yang akan dibuka.
Nama kunci tidak peka huruf besar/kecil.
Jika parameter lpSubKey adalah NULL atau pointer ke string kosong, dan jika hKey adalah kunci yang telah ditentukan sebelumnya, maka sistem me-refresh kunci yang telah ditentukan sebelumnya, dan phkResult menerima handel hKey yang sama yang diteruskan ke fungsi. Jika tidak, phkResult menerima handel baru ke kunci yang dibuka.
Untuk informasi selengkapnya, lihat Batas Ukuran Elemen Registri.
[in] ulOptions
Parameter ini dicadangkan dan harus nol.
[in] samDesired
Masker yang menentukan hak akses yang diinginkan ke kunci. Fungsi gagal jika pendeskripsi 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 kuncinya bukan salah satu kunci registri yang telah ditentukan sebelumnya, panggil fungsi RegCloseKey setelah Anda selesai menggunakan handel.
[in] hTransaction
Handel ke transaksi aktif. Handel ini dikembalikan oleh fungsi CreateTransaction .
pExtendedParemeter
Parameter ini dicadangkan dan harus NULL.
Mengembalikan 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.
Keterangan
Ketika kunci dibuka menggunakan fungsi ini, operasi berikutnya pada kunci ditransaksikan. Jika operasi yang tidak ditransaksikan dilakukan pada kunci sebelum transaksi dilakukan, transaksi digulung balik. Setelah transaksi diterapkan atau digulung balik, Anda harus membuka kembali kunci menggunakan fungsi RegCreateKeyTransacted atau RegOpenKeyTransacted dengan handel transaksi aktif untuk membuat operasi tambahan ditransaksikan. Untuk informasi selengkapnya tentang transaksi, lihat Manajer Transaksi Kernel.
Perhatikan bahwa operasi berikutnya pada sub-kunci kunci ini tidak secara otomatis ditransaksikan. Oleh karena itu, fungsi RegDeleteKeyEx tidak melakukan operasi penghapusan yang ditransaksikan. Sebagai gantinya, gunakan fungsi RegDeleteKeyTransacted untuk melakukan operasi penghapusan yang ditransaksikan.
Tidak seperti fungsi RegCreateKeyTransacted , fungsi RegOpenKeyTransacted tidak membuat kunci yang ditentukan jika kunci tidak ada di registri.
Jika layanan atau aplikasi Anda meniru pengguna yang berbeda, jangan gunakan fungsi ini dengan HKEY_CURRENT_USER. Sebagai gantinya, panggil fungsi RegOpenCurrentUser .
Jika kunci yang dikembalikan dalam phkResult adalah kunci registri yang telah ditentukan sebelumnya, kunci tersebut tidak termasuk dalam transaksi yang disediakan.
Satu kunci registri hanya dapat dibuka 65.534 kali. Saat mencoba operasi terbuka ke-65.535, fungsi ini gagal dengan ERROR_NO_SYSTEM_RESOURCES.
Catatan
Header winreg.h mendefinisikan RegOpenKeyTransacted 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 Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winreg.h (termasuk Windows.h) |
Pustaka | Advapi32.lib |
DLL | Advapi32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk