Compartilhar via


Função SRSetRestorePointA (srrestoreptapi.h)

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

Para obter um equivalente de script, 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 de retorno

Se a função for bem-sucedida, o valor retornado será VERDADEIRO. O llSequenceNumber membro 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 nStatus membro do pSMgrStatus recebe informações de erro.

Observações

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 operem corretamente. Para obter informações sobre como configurar as chamadas COM para CoInitializeEx e CoInitializeSecurity, consulte Usandode Restauração do Sistema.

Essa função não pode ser chamada no modo de segurança. 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 tira um instantâneo completo do registro e de outros bancos de dados do sistema.

Os aplicativos não devem chamar funções de Restauração do Sistema usando 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 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 remover um ponto de restauração, ele poderá chamar a função SRRemoveRestorePoint, ou chame 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 o SRSetRestorePoint.

Windows 8:

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

Os aplicativos devem criar essa chave para usá-la porque ela não será pré-exista 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 VERDADEIRO.

Os desenvolvedores podem escrever aplicativos que criam o valor DWORD SystemRestorePointCreationFrequency sob a 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 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 posteriormente exposto 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 que são relevantes apenas para restauração do sistema.

Exemplos

Para obter um exemplo, consulte Usandode Restauração do Sistema.

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Nenhum com suporte
da Plataforma de Destino Windows
cabeçalho srrestoreptapi.h
de DLL SrClient.dll

Consulte também

SRRemoveRestorePoint