Função SRSetRestorePointA (srrestoreptapi.h)

Especifica o início e o fim de um conjunto de alterações para que a Restauração do Sistema possa criar um ponto de restauração.

Para obter um equivalente scriptável, consulte CreateRestorePoint.

Sintaxe

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

Parâmetros

[in] pRestorePtSpec

Um ponteiro para uma estrutura RESTOREPOINTINFO que especifica o ponto de restauração.

[out] pSMgrStatus

Um ponteiro para uma estrutura STATEMGRSTATUS que recebe as informações de status.

Valor retornado

Se a função for bem-sucedida, o valor retornado será TRUE. O membro llSequenceNumber do pSMgrStatus recebe o número de sequência do ponto de restauração.

Se a função falhar, o valor retornado será FALSE. O membro nStatus do pSMgrStatus recebe informações de erro.

Comentários

Você deve inicializar a segurança COM para permitir que NetworkService, LocalService e System retornem a qualquer processo que use SRSetRestorePoint. Isso é necessário para que SRSetRestorePoint opere corretamente. Para obter informações sobre como configurar as chamadas COM para CoInitializeEx e CoInitializeSecurity, confira Usando a restauração do sistema.

Essa função não pode ser chamada no modo de segurança. Ele também falhará se a Restauração do Sistema tiver sido desabilitada (consulte Desabilitar).

Quando você chama essa função, a Restauração do Sistema usa uma instantâneo completa do registro e de outros bancos de dados do sistema.

Os aplicativos não devem chamar funções de Restauração do Sistema usando a vinculação dinâmica de tempo de carga. Em vez disso, use a função LoadLibrary para carregar SrClient.dll e GetProcAddress para chamar a função.

Crie pontos de restauração pouco antes de uma alteração do sistema chamando SRSetRestorePoint com o membro dwEventType da estrutura RESTOREPOINTINFO definida como BEGIN_SYSTEM_CHANGE. Depois que as alterações no sistema forem concluídas, 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 que criou 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 definido como CANCELLED_OPERATION, dwEventType definido como END_SYSTEM_CHANGE e llSequenceNumber definido como o valor retornado pela chamada inicial para SRSetRestorePoint.

Tenha cuidado ao fazer chamadas aninhadas para SRSetRestorePoint. Para obter mais informações, consulte Chamadas aninhadas para SRSetRestorePoint.

Windows 8:

Uma nova chave do Registro permite que os desenvolvedores de aplicativos alterem a frequência da criação do ponto de restauração.

Os aplicativos devem criar essa chave para usá-la porque ela não será preexistentes no sistema. O seguinte se aplica por padrão se a chave não existir. Se um aplicativo chamar a função SRSetRestorePoint para criar um ponto de restauração, o Windows ignorará a criação desse novo ponto de restauração se algum ponto de restauração tiver sido criado nas últimas 24 horas. A Restauração do Sistema define o membro IISequenceNumber da estrutura STATEMGRSTATUS como o número de sequência do ponto de restauração criado anteriormente no dia e define o valor do membro nStatus como ERROR_SUCCESS.

A função SRSetRestorePoint retorna TRUE.

Os desenvolvedores podem escrever aplicativos que criam o valor DWORDSystemRestorePointCreationFrequency na chave do Registro HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore. O valor dessa chave do Registro pode alterar a frequência da criação do ponto de restauração.

Se o aplicativo chamar SRSetRestorePoint para criar um ponto de restauração e 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 aplicativo chamar SRSetRestorePoint para criar um ponto de restauração e o valor da chave do Registro for o número 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.

Windows 8:

A Restauração do Sistema em execução no Windows 8 monitora arquivos no volume de inicialização que são relevantes apenas para restauração do sistema. Instantâneos do volume de inicialização criado pela Restauração do Sistema em execução no Windows 8 poderão ser excluídos se o instantâneo for exposto posteriormente por uma versão anterior do Windows. Observe que, embora haja apenas um volume do sistema, há um volume de inicialização para cada sistema operacional em um sistema de várias inicializações.

Os desenvolvedores podem escrever aplicativos que criam o valor DWORDScopeSnapshots na chave do Registro HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore. 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 nas versões anteriores do Windows. Se esse valor for excluído, a Restauração do Sistema em execução no Windows 8 retomará a criação de instantâneos que monitoram arquivos no volume de inicialização relevantes apenas para restauração do sistema.

Exemplos

Para obter um exemplo, consulte Usando a restauração do sistema.

Observação

O cabeçalho srrestoreptapi.h define SRSetRestorePoint como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho srrestoreptapi.h
DLL SrClient.dll

Confira também

SRRemoveRestorePoint