Chamando SRSetRestorePoint
Um aplicativo pode criar um ponto de restauração antes de causar uma alteração significativa no sistema, como uma instalação, desinstalação ou atualização.
Os instaladores devem criar um ponto de restauração antes da instalação chamando a função SRSetRestorePoint com o dwEventType
RESTOREPOINTINFO
membro da estrutura definido como BEGIN_SYSTEM_CHANGE
. Para notificar a Restauração do Sistema de que a instalação foi concluída, chame SRSetRestorePoint com dwEventType
definido como END_SYSTEM_CHANGE
.
Se o usuário cancelar a instalação do aplicativo, o instalador poderá remover o ponto de restauração criado quando a instalação começou. A remoção do ponto de restauração é opcional e pode impedir que o usuário se recupere de alterações não intencionais feitas pelo instalador durante o cancelamento. Se o instalador for remover um ponto de restauração, ele poderá chamar a função SRRemoveRestorePoint ou chamar SRSetRestorePoint com dwRestorePointType
set como CANCELLED_OPERATION
, dwEventType
set como END_SYSTEM_CHANGE
, e llSequenceNumber
definir como o valor retornado pela chamada inicial para SRSetRestorePoint.
A partir do Windows 8, os desenvolvedores podem escrever aplicativos que criam o valor DWORD SystemRestorePointCreationFrequency na chave do HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore
Registro. O valor dessa chave do Registro pode alterar a frequência de criação do ponto de restauração. Por padrão, essa chave não existe.
Quando um aplicativo chama a função SRSetRestorePoint para criar um ponto de restauração, uma das seguintes situações acontece dependendo do conteúdo da chave:
Se a chave não existir (padrão) e quaisquer pontos de restauração tiverem sido criados nas últimas 24 horas, o Windows ignorará a criação desse novo ponto de restauração. A Restauração do Sistema define o
IISequenceNumber
STATEMGRSTATUS
membro da estrutura como o número de sequência do ponto de restauração criado anteriormente no dia e define o valor donStatus
membro comoERROR_SUCCESS
. A função SRSetRestorePoint retornaTRUE
.Se o valor da chave do Registro for 0, a restauração do sistema não ignorará a criação do novo ponto de restauração.
Se o valor da chave do Registro for o inteiro N, a restauração do sistema ignorará a criação de um novo ponto de restauração se algum ponto de restauração tiver sido criado nos N minutos anteriores.
A Restauração do Sistema em execução no Windows 8 monitora os arquivos no volume de inicialização que são relevantes apenas para a restauração do sistema. Os instantâneos do volume de inicialização criado pela Restauração do Sistema em execução no Windows 8 podem ser excluídos se o instantâneo for exposto subsequentemente por uma versão anterior do Windows. Observe que, embora haja apenas um volume de sistema, há um volume de inicialização para cada sistema operacional em um sistema de inicialização múltipla.
Os desenvolvedores podem escrever aplicativos que criam o valor DWORD ScopeSnapshots sob a chave do HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore
Registro. Se esse valor de chave do Registro for 0, a Restauração do Sistema criará instantâneos do volume de inicialização da mesma forma que em versões anteriores do Windows. Se esse valor for excluído, a Restauração do Sistema em execução no Windows 8 continuará a criar instantâneos que monitoram arquivos no volume de inicialização que são relevantes apenas para a restauração do sistema.
Para obter um exemplo, consulte Usando a Restauração do Sistema.