Bagikan melalui


Fungsi RegRestoreKeyW (winreg.h)

Membaca informasi registri dalam file tertentu dan menyalinnya melalui kunci yang ditentukan. Informasi registri ini mungkin dalam bentuk kunci dan beberapa tingkat subkuntang.

Aplikasi yang mencadangkan atau memulihkan status sistem termasuk file sistem dan sarang registri harus menggunakan Volume Shadow Copy Service alih-alih fungsi registri.

Sintaksis

LSTATUS RegRestoreKeyW(
  [in] HKEY    hKey,
  [in] LPCWSTR lpFile,
  [in] DWORD   dwFlags
);

Parameter

[in] hKey

Handel ke kunci registri terbuka. Handel ini dikembalikan oleh fungsi RegCreateKeyEx atau RegOpenKeyEx. Ini juga bisa menjadi salah satu kunci berikut yang telah ditentukan sebelumnya:

HKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS Informasi apa pun yang terkandung dalam kunci ini dan kunci turunannya ditimpa oleh informasi dalam file yang ditunjukkan oleh parameter lpFile .

[in] lpFile

Nama file dengan informasi registri. File ini biasanya dibuat dengan menggunakan fungsi RegSaveKey.

[in] dwFlags

Bendera yang menunjukkan bagaimana kunci atau kunci akan dipulihkan. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Arti
REG_FORCE_RESTORE
0x00000008L
Jika ditentukan, operasi pemulihan dijalankan bahkan jika handel terbuka ada di atau di bawah lokasi dalam hierarki registri tempat hKey titik parameter.
REG_WHOLE_HIVE_VOLATILE
0x00000001L
Jika ditentukan, kumpulan informasi registri baru yang volatil (hanya memori), atau sarang, dibuat. Jika REG_WHOLE_HIVE_VOLATILE ditentukan, kunci yang diidentifikasi oleh parameter hKey harus berupa nilai HKEY_USERS atau HKEY_LOCAL_MACHINE.

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 FormatMessage dengan bendera FORMAT_MESSAGE_FROM_SYSTEM untuk mendapatkan deskripsi umum tentang kesalahan tersebut.

Komentar

Ada dua format file sarang registri yang berbeda. Sarang registri yang dibuat pada sistem operasi saat ini biasanya tidak dapat dimuat oleh yang sebelumnya.

Jika ada subkunjuk dari parameter hKey yang terbuka, RegRestoreKey gagal.

Proses panggilan harus memiliki hak istimewa SE_RESTORE_NAME dan SE_BACKUP_NAME pada komputer tempat registri berada. Untuk informasi selengkapnya, lihat Berjalan dengan Hak Istimewa Khusus.

Fungsi ini menggantikan kunci dan nilai di bawah kunci yang ditentukan dengan kunci dan nilai yang merupakan anak perusahaan ke kunci tingkat atas dalam file, apa pun nama kunci tingkat atas dalam file. Misalnya, hKey mungkin mengidentifikasi kunci A dengan subkuntang B dan C, sementara parameter lpFile menentukan file yang berisi kunci X dengan subkunia Y dan Z. Setelah panggilan ke RegRestoreKey, registri akan berisi kunci A dengan subkuncar Y dan Z. Entri nilai A akan digantikan oleh entri nilai X.

Informasi baru dalam file yang ditentukan oleh lpFile menimpa konten kunci yang ditentukan oleh parameter hKey, kecuali untuk nama kunci.

Jika hKey mewakili kunci di komputer jarak jauh, jalur yang dijelaskan oleh lpFile relatif terhadap komputer jarak jauh.

Nota

Header winreg.h mendefinisikan RegRestoreKey sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor 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

regDeleteKey

RegLoadKey

RegReplaceKey

RegSaveKey

Fungsi Registri

Gambaran Umum Registri