SRSetRestorePointA-Funktion (srrestoreptapi.h)
Gibt den Anfang und das Ende einer Reihe von Änderungen an, damit die Systemwiederherstellung einen Wiederherstellungspunkt erstellen kann.
Eine skriptfähige Entsprechung finden Sie unter CreateRestorePoint-.
Syntax
BOOL SRSetRestorePointA(
[in] PRESTOREPOINTINFOA pRestorePtSpec,
[out] PSTATEMGRSTATUS pSMgrStatus
);
Parameter
[in] pRestorePtSpec
Ein Zeiger auf eine RESTOREPOINTINFO- Struktur, die den Wiederherstellungspunkt angibt.
[out] pSMgrStatus
Ein Zeiger auf eine STATEMGRSTATUS- Struktur, die die Statusinformationen empfängt.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert TRUE. Das llSequenceNumber Member von pSMgrStatus erhält die Sequenznummer des Wiederherstellungspunkts.
Wenn die Funktion fehlschlägt, ist der Rückgabewert FALSE. Das nStatus- Mitglied von pSMgrStatus Fehlerinformationen empfängt.
Bemerkungen
Sie müssen COM-Sicherheit initialisieren, damit NetworkService, LocalService und System in jeden Prozess zurückrufen können, der SRSetRestorePoint-verwendet. Dies ist erforderlich, damit SRSetRestorePoint- ordnungsgemäß ausgeführt werden kann. Informationen zum Einrichten der COM-Aufrufe von CoInitializeEx und CoInitializeSecurityfinden Sie unter Using System Restore.
Diese Funktion kann nicht im abgesicherten Modus aufgerufen werden. Es schlägt auch fehl, wenn die Systemwiederherstellung deaktiviert wurde (siehe Deaktivieren).
Wenn Sie diese Funktion aufrufen, übernimmt Die Systemwiederherstellung eine vollständige Momentaufnahme der Registrierung und anderer Systemdatenbanken.
Anwendungen sollten keine Systemwiederherstellungsfunktionen mithilfe der dynamischen Verknüpfung zum Laden aufrufen. Verwenden Sie stattdessen die LoadLibrary--Funktion, um SrClient.dll zu laden, und GetProcAddress-, um die Funktion aufzurufen.
Erstellen Sie Wiederherstellungspunkte direkt vor einer Systemänderung, indem Sie SRSetRestorePoint- mit dem dwEventType Member der RESTOREPOINTINFO- Struktur aufrufen, die auf BEGIN_SYSTEM_CHANGE festgelegt ist. Rufen Sie nach Abschluss der Änderungen am System SRSetRestorePoint- auf, wobei dwEventType- auf END_SYSTEM_CHANGE festgelegt ist.
Wenn der Benutzer die Anwendungsinstallation abbricht, kann das Installationsprogramm den Wiederherstellungspunkt entfernen, der beim Starten der Installation erstellt wurde. Das Entfernen des Wiederherstellungspunkts ist optional und kann verhindern, dass der Benutzer unbeabsichtigte Änderungen, die vom Installationsprogramm während des Abbruchs vorgenommen wurden, wiederherstellen kann. Wenn das Installationsprogramm einen Wiederherstellungspunkt entfernt, kann er die SRRemoveRestorePoint--Funktion aufrufen. oder rufen Sie SRSetRestorePoint auf, wobei dwRestorePointType auf CANCELLED_OPERATION festgelegt ist, dwEventType auf END_SYSTEM_CHANGE festgelegt ist, und llSequenceNumber auf den wert festgelegt, der vom ersten Aufruf an SRSetRestorePointzurückgegeben wird.
Achten Sie beim Ausführen geschachtelter Aufrufe an SRSetRestorePoint. Weitere Informationen finden Sie unter geschachtelten Aufrufen von SRSetRestorePoint.
Windows 8:
Mit einem neuen Registrierungsschlüssel können Anwendungsentwickler die Häufigkeit der Erstellung von Wiederherstellungspunkten ändern.
Anwendungen sollten diesen Schlüssel erstellen, um ihn zu verwenden, da er im System nicht bereits vorhanden ist. Folgendes gilt standardmäßig, wenn der Schlüssel nicht vorhanden ist. Wenn eine Anwendung die SRSetRestorePoint--Funktion aufruft, um einen Wiederherstellungspunkt zu erstellen, überspringt Windows das Erstellen dieses neuen Wiederherstellungspunkts, wenn in den letzten 24 Stunden Wiederherstellungspunkte erstellt wurden. Die Systemwiederherstellung legt den IISequenceNumber Member der STATEMGRSTATUS-Struktur auf die Sequenznummer für den Wiederherstellenspunkt fest, der zuvor am Tag erstellt wurde, und legt den Wert des nStatus- Members auf ERROR_SUCCESSfest.
Die SRSetRestorePoint--Funktion gibt TRUEzurück.
Entwickler können Anwendungen schreiben, die den DWORD Wert SystemRestorePointCreationFrequency unter dem Registrierungsschlüssel HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestoreerstellen. Der Wert dieses Registrierungsschlüssels kann die Häufigkeit der Erstellung von Wiederherstellungspunkten ändern.
Wenn die Anwendung SRSetRestorePoint- aufruft, um einen Wiederherstellungspunkt zu erstellen, und der Registrierungsschlüsselwert 0 ist, überspringt die Systemwiederherstellung das Erstellen des neuen Wiederherstellungspunkts nicht.
Wenn die Anwendung SRSetRestorePoint aufruft, um einen Wiederherstellungspunkt zu erstellen, und der Registrierungsschlüsselwert die ganze Zahl N ist, überspringt die Systemwiederherstellung das Erstellen eines neuen Wiederherstellungspunkts, wenn in den vorherigen N Minuten Wiederherstellungspunkte erstellt wurden.
Windows 8:
Die Systemwiederherstellung unter Windows 8 überwacht Dateien im Startvolume, die nur für die Systemwiederherstellung relevant sind. Momentaufnahmen des Startvolumes, das von der Systemwiederherstellung unter Windows 8 erstellt wird, können gelöscht werden, wenn die Momentaufnahme anschließend von einer früheren Version von Windows verfügbar gemacht wird. Beachten Sie, dass zwar nur ein Systemvolume vorhanden ist, jedoch ein Startvolume für jedes Betriebssystem in einem Mehrstartsystem vorhanden ist.
Entwickler können Anwendungen schreiben, die den DWORD Wert ScopeSnapshots unter dem Registrierungsschlüssel HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestoreerstellen. Wenn dieser Registrierungsschlüsselwert 0 ist, erstellt die Systemwiederherstellung Momentaufnahmen des Startvolumes auf die gleiche Weise wie in früheren Versionen von Windows. Wenn dieser Wert gelöscht wird, setzt die Systemwiederherstellung unter Windows 8 das Erstellen von Momentaufnahmen fort, die Dateien im Startvolume überwachen, die nur für die Systemwiederherstellung relevant sind.
Beispiele
Ein Beispiel finden Sie unter Verwenden der Systemwiederherstellung.
Anmerkung
Der srrestoreptapi.h-Header definiert SRSetRestorePoint als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Keine unterstützt |
Zielplattform- | Fenster |
Header- | srrestoreptapi.h |
DLL- | SrClient.dll |