Share via


Funzione SRSetRestorePointA (srrestoreptapi.h)

Specifica l'inizio e la fine di un set di modifiche in modo che Il ripristino di sistema possa creare un punto di ripristino.

Per un equivalente scriptable, vedere CreateRestorePoint.

Sintassi

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

Parametri

[in] pRestorePtSpec

Puntatore a una struttura RESTOREPOINTINFO che specifica il punto di ripristino.

[out] pSMgrStatus

Puntatore a una struttura STATEMGRSTATUS che riceve le informazioni sullo stato.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è TRUE. Il membro llSequenceNumber di pSMgrStatus riceve il numero di sequenza del punto di ripristino.

Se la funzione ha esito negativo, il valore restituito è FALSE. Il membro nStatus di pSMgrStatus riceve informazioni sugli errori.

Commenti

È necessario inizializzare la sicurezza COM per consentire a NetworkService, LocalService e System di richiamare in qualsiasi processo che usa SRSetRestorePoint. Questa operazione è necessaria per il corretto funzionamento di SRSetRestorePoint . Per informazioni sulla configurazione delle chiamate COM a CoInitializeEx e CoInitializeSecurity, vedere Uso di Ripristino di sistema.

Questa funzione non può essere chiamata in modalità provvisoria. Non riesce anche se il ripristino di sistema è stato disabilitato (vedere Disabilita).

Quando si chiama questa funzione, Il ripristino di sistema accetta uno snapshot completo del Registro di sistema e di altri database di sistema.

Le applicazioni non devono chiamare funzioni di ripristino del sistema usando il collegamento dinamico del tempo di caricamento. Usare invece la funzione LoadLibrary per caricare SrClient.dll e GetProcAddress per chiamare la funzione.

Creare punti di ripristino appena prima di una modifica di sistema chiamando SRSetRestorePoint con il membro dwEventType della struttura RESTOREPOINTINFO impostato su BEGIN_SYSTEM_CHANGE. Al termine delle modifiche apportate al sistema, chiamare SRSetRestorePoint con dwEventType impostato su END_SYSTEM_CHANGE.

Se l'utente annulla l'installazione dell'applicazione, il programma di installazione può rimuovere il punto di ripristino creato all'avvio dell'installazione. La rimozione del punto di ripristino è facoltativa e può impedire all'utente di ripristinare le modifiche non intenzionali apportate dal programma di installazione durante l'annullamento. Se il programma di installazione deve rimuovere un punto di ripristino, può chiamare la funzione SRRemoveRestorePoint o chiamare SRSetRestorePointPoint con dwRestorePointType impostato su CANCELLED_OPERATION, dwEventType impostato su END_SYSTEM_CHANGE e llSequenceNumber impostato sul valore restituito dalla chiamata iniziale a SRSetRestorePoint.

Prestare attenzione quando si effettuano chiamate annidate a SRSetRestorePoint. Per altre informazioni, vedere Chiamate annidate a SRSetRestorePoint.

Windows 8:

Una nuova chiave del Registro di sistema consente agli sviluppatori di applicazioni di modificare la frequenza di creazione del punto di ripristino.

Le applicazioni devono creare questa chiave da usare perché non saranno preesistenti nel sistema. Il codice seguente si applica per impostazione predefinita se la chiave non esiste. Se un'applicazione chiama la funzione SRSetRestorePoint per creare un punto di ripristino, Windows ignora la creazione di questo nuovo punto di ripristino se sono stati creati punti di ripristino nelle ultime 24 ore. System Restore imposta il membro IISequenceNumber della struttura STATEMGRSTATUS sul numero di sequenza per il punto di ripristino creato in precedenza nel giorno e imposta il valore del membro nStatus su ERROR_SUCCESS.

La funzione SRSetRestorePoint restituisce TRUE.

Gli sviluppatori possono scrivere applicazioni che creano il valore DWORDSystemRestorePointCreationFrequency nella chiave del Registro di sistema HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore. Il valore di questa chiave del Registro di sistema può modificare la frequenza di creazione del punto di ripristino.

Se l'applicazione chiama SRSetRestorePoint per creare un punto di ripristino e il valore della chiave del Registro di sistema è 0, il ripristino di sistema non ignora la creazione del nuovo punto di ripristino.

Se l'applicazione chiama SRSetRestorePoint per creare un punto di ripristino e il valore della chiave del Registro di sistema è l'intero N, il ripristino di sistema ignora la creazione di un nuovo punto di ripristino se i punti di ripristino sono stati creati nei minuti N precedenti.

Windows 8:

Il ripristino di sistema in esecuzione in Windows 8 monitora i file nel volume di avvio rilevanti solo per il ripristino di sistema. Gli snapshot del volume di avvio creato dal ripristino di sistema in esecuzione in Windows 8 possono essere eliminati se lo snapshot viene successivamente esposto da una versione precedente di Windows. Si noti che, anche se è presente un solo volume di sistema, è presente un volume di avvio per ogni sistema operativo in un sistema multi-avvio.

Gli sviluppatori possono scrivere applicazioni che creano il valore DWORDScopeSnapshots nella chiave del Registro di sistema HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore. Se questo valore della chiave del Registro di sistema è 0, Il ripristino di sistema crea snapshot del volume di avvio nello stesso modo di nelle versioni precedenti di Windows. Se questo valore viene eliminato, Il ripristino di sistema in esecuzione in Windows 8 riprende la creazione di snapshot che monitorano i file nel volume di avvio rilevanti solo per il ripristino di sistema.

Esempio

Per un esempio, vedere Uso del ripristino di sistema.

Nota

L'intestazione srrestoreptapi.h definisce SRSetRestorePoint come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Nessuno supportato
Piattaforma di destinazione Windows
Intestazione srrestoreptapi.h
DLL SrClient.dll

Vedi anche

SRRemoveRestorePoint