Bagikan melalui


Fungsi SRSetRestorePointA (srrestoreptapi.h)

Menentukan awal dan akhir dari sekumpulan perubahan sehingga Pemulihan Sistem dapat membuat titik pemulihan.

Untuk setara yang dapat ditulis, lihat CreateRestorePoint.

Sintaks

BOOL SRSetRestorePointA(
  [in]  PRESTOREPOINTINFOA pRestorePtSpec,
  [out] PSTATEMGRSTATUS    pSMgrStatus
);

Parameter

[in] pRestorePtSpec

Penunjuk ke struktur RESTOREPOINTINFO yang menentukan titik pemulihan.

[out] pSMgrStatus

Penunjuk ke struktur STATEMGRSTATUS yang menerima informasi status.

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE. Anggota llSequenceNumberdari pSMgrStatus menerima nomor urut titik pemulihan.

Jika fungsi gagal, nilai yang dikembalikan adalah FALSE. Anggota nStatuspSMgrStatus menerima informasi kesalahan.

Keterangan

Anda harus menginisialisasi keamanan COM untuk mengizinkan NetworkService, LocalService, dan System untuk memanggil kembali proses apa pun yang menggunakan SRSetRestorePoint. Ini diperlukan agar SRSetRestorePoint beroperasi dengan benar. Untuk informasi tentang menyiapkan panggilan COM ke CoInitializeEx dan CoInitializeSecurity, lihat Menggunakan Pemulihan Sistem.

Fungsi ini tidak dapat dipanggil dalam mode aman. Ini juga gagal jika Pemulihan Sistem telah dinonaktifkan (lihat Menonaktifkan).

Ketika Anda memanggil fungsi ini, Pemulihan Sistem mengambil rekam jepret penuh dari registri dan database sistem lainnya.

Aplikasi tidak boleh memanggil fungsi Pemulihan Sistem menggunakan penautan dinamis waktu muat. Sebagai gantinya, gunakan fungsi LoadLibrary untuk memuat SrClient.dll dan GetProcAddress untuk memanggil fungsi.

Buat titik pemulihan tepat sebelum perubahan sistem, dengan memanggil SRSetRestorePoint dengan anggota dwEventType dari struktur RESTOREPOINTINFO diatur ke BEGIN_SYSTEM_CHANGE. Setelah perubahan pada sistem selesai, panggil SRSetRestorePoint dengan dwEventType diatur ke END_SYSTEM_CHANGE.

Jika pengguna membatalkan penginstalan aplikasi, alat penginstal dapat menghapus titik pemulihan yang dibuatnya saat penginstalan dimulai. Menghapus titik pemulihan bersifat opsional dan dapat mencegah pengguna pulih dari perubahan yang tidak disengaja yang dilakukan oleh alat penginstal selama pembatalan. Jika alat penginstal adalah menghapus titik pemulihan, alat ini dapat memanggil fungsi SRRemoveRestorePoint , atau memanggil SRSetRestorePoint dengan dwRestorePointType diatur ke CANCELLED_OPERATION, dwEventType diatur ke END_SYSTEM_CHANGE, dan llSequenceNumber diatur ke nilai yang dikembalikan oleh panggilan awal ke SRSetRestorePoint.

Berhati-hatilah saat melakukan panggilan berlapis ke SRSetRestorePoint. Untuk informasi selengkapnya, lihat Panggilan berlapis ke SRSetRestorePoint.

Windows 8:

Kunci registri baru memungkinkan pengembang aplikasi mengubah frekuensi pembuatan titik pemulihan.

Aplikasi harus membuat kunci ini untuk menggunakannya karena tidak akan ada sebelumnya dalam sistem. Berikut ini berlaku secara default jika kunci tidak ada. Jika aplikasi memanggil fungsi SRSetRestorePoint untuk membuat titik pemulihan, Windows melompati pembuatan titik pemulihan baru ini jika ada titik pemulihan yang telah dibuat dalam 24 jam terakhir. Pemulihan Sistem menetapkan anggota IISequenceNumber dari struktur STATEMGRSTATUS ke nomor urut untuk titik pemulihan yang dibuat sebelumnya pada hari itu dan menetapkan nilai anggota nStatus ke ERROR_SUCCESS.

Fungsi SRSetRestorePoint mengembalikan TRUE.

Pengembang dapat menulis aplikasi yang membuat nilai DWORDSystemRestorePointCreationFrequency di bawah kunci registri HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore. Nilai kunci registri ini dapat mengubah frekuensi pembuatan titik pemulihan.

Jika aplikasi memanggil SRSetRestorePoint untuk membuat titik pemulihan, dan nilai kunci registri adalah 0, pemulihan sistem tidak melewati pembuatan titik pemulihan baru.

Jika aplikasi memanggil SRSetRestorePoint untuk membuat titik pemulihan, dan nilai kunci registri adalah bilangan bulat N, pemulihan sistem melompati pembuatan titik pemulihan baru jika ada titik pemulihan yang dibuat di N menit sebelumnya.

Windows 8:

Pemulihan Sistem yang berjalan pada Windows 8 memantau file dalam volume boot yang relevan hanya untuk pemulihan sistem. Rekam jepret volume boot yang dibuat oleh Pemulihan Sistem yang berjalan pada Windows 8 dapat dihapus jika rekam jepret kemudian diekspos oleh versi Windows yang lebih lama. Perhatikan bahwa meskipun hanya ada satu volume sistem, ada satu volume boot untuk setiap sistem operasi dalam sistem multi-boot.

Pengembang dapat menulis aplikasi yang membuat nilai DWORDScopeSnapshots di bawah kunci registri HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore. Jika nilai kunci registri ini adalah 0, Pemulihan Sistem membuat rekam jepret volume boot dengan cara yang sama seperti pada versi Windows sebelumnya. Jika nilai ini dihapus, Pemulihan Sistem yang berjalan pada Windows 8 melanjutkan pembuatan rekam jepret yang memantau file dalam volume boot yang relevan hanya untuk pemulihan sistem.

Contoh

Misalnya, lihat Menggunakan Pemulihan Sistem.

Catatan

Header srrestoreptapi.h mendefinisikan SRSetRestorePoint 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

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Tidak ada yang didukung
Target Platform Windows
Header srrestoreptapi.h
DLL SrClient.dll

Lihat juga

SRRemoveRestorePoint