Bagikan melalui


Fungsi RegRestoreKeyA (winreg.h)

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

Aplikasi yang mencadangkan atau memulihkan status sistem termasuk file sistem dan sarang registri harus menggunakan Layanan Menyalin Bayangan Volume alih-alih fungsi registri.

Sintaks

LSTATUS RegRestoreKeyA(
  [in] HKEY   hKey,
  [in] LPCSTR 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 yang telah ditentukan sebelumnya berikut:

HKEY_CLASSES_ROOTHKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS Informasi apa pun yang terkandung dalam kunci ini dan kunci keturunannya 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 Makna
REG_FORCE_RESTORE
0x00000008L
Jika ditentukan, operasi pemulihan dijalankan bahkan jika handel terbuka ada di atau di bawah lokasi dalam hierarki registri tempat parameter hKey menunjuk.
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 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

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 subkey dari parameter hKey yang terbuka, RegRestoreKey gagal.

Proses panggilan harus memiliki hak SE_RESTORE_NAME dan SE_BACKUP_NAME pada komputer tempat registri berada. Untuk informasi selengkapnya, lihat Menjalankan 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 subkey B dan C, sementara parameter lpFile menentukan file yang berisi kunci X dengan subkuntang Y dan Z. Setelah panggilan ke RegRestoreKey, registri akan berisi kunci A dengan subkey 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.

Catatan

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

Persyaratan Nilai
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

RegDeleteKey

RegLoadKey

RegReplaceKey

RegSaveKey

Fungsi Registri

Gambaran Umum Registri