Compartir a través de


Función SRSetRestorePointA (srrestoreptapi.h)

Especifica el principio y el final de un conjunto de cambios para que la restauración del sistema pueda crear un punto de restauración.

Para obtener un equivalente con script, vea CreateRestorePoint.

Sintaxis

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

Parámetros

[in] pRestorePtSpec

Puntero a una estructura RESTOREPOINTINFO que especifica el punto de restauración.

[out] pSMgrStatus

Puntero a una estructura de STATEMGRSTATUS que recibe la información de estado.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es TRUE. El miembro llSequenceNumber de pSMgrStatus recibe el número de secuencia del punto de restauración.

Si se produce un error en la función, el valor devuelto es FALSE. El nStatus miembro de pSMgrStatus recibe información de error.

Observaciones

Debe inicializar la seguridad COM para permitir que NetworkService, LocalService y System vuelvan a llamar a cualquier proceso que use SRSetRestorePoint. Esto es necesario para que SRSetRestorePoint funcionen correctamente. Para obtener información sobre cómo configurar las llamadas COM a CoInitializeEx y CoInitializeSecurity, vea Using System Restore.

No se puede llamar a esta función en modo seguro. También se produce un error si se ha deshabilitado la restauración del sistema (consulte Deshabilitar).

Al llamar a esta función, La restauración del sistema toma una instantánea completa del registro y otras bases de datos del sistema.

Las aplicaciones no deben llamar a funciones de restauración del sistema mediante la vinculación dinámica en tiempo de carga. En su lugar, use la función loadLibrary de para cargar SrClient.dll y GetProcAddress para llamar a la función.

Cree puntos de restauración justo antes de un cambio del sistema mediante una llamada a SRSetRestorePoint con el miembro dwEventType del RESTOREPOINTINFO estructura establecida en BEGIN_SYSTEM_CHANGE. Una vez completados los cambios en el sistema, llame a SRSetRestorePoint con dwEventType establecido en END_SYSTEM_CHANGE.

Si el usuario cancela la instalación de la aplicación, el instalador puede quitar el punto de restauración que creó cuando se inició la instalación. Quitar el punto de restauración es opcional y puede impedir que el usuario se recupere de los cambios accidentales realizados por el instalador durante la cancelación. Si el instalador va a quitar un punto de restauración, puede llamar a la función SRRemoveRestorePoint, o llame a SRSetRestorePoint con dwRestorePointType establecido en CANCELLED_OPERATION, dwEventType establecido en END_SYSTEM_CHANGE y llSequenceNumber establezca en el valor devuelto por la llamada inicial a SRSetRestorePoint.

Tenga cuidado al realizar llamadas anidadas a SRSetRestorePoint. Para obtener más información, vea llamadas anidadas a SRSetRestorePoint.

Windows 8:

Una nueva clave del Registro permite a los desarrolladores de aplicaciones cambiar la frecuencia de creación de puntos de restauración.

Las aplicaciones deben crear esta clave para usarla porque no estará presente previamente en el sistema. Lo siguiente se aplica de forma predeterminada si la clave no existe. Si una aplicación llama a la función srSetRestorePoint de para crear un punto de restauración, Windows omite la creación de este nuevo punto de restauración si se han creado puntos de restauración en las últimas 24 horas. Restauración del sistema establece el miembro IISequenceNumber del STATEMGRSTATUS en el número de secuencia del punto de restauración creado anteriormente en el día y establece el valor del miembro nStatus en ERROR_SUCCESS.

La función SRSetRestorePoint devuelve TRUE.

Los desarrolladores pueden escribir aplicaciones que creen el valor de DWORD de SystemRestorePointCreationFrequen cy en la clave del Registro HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore. El valor de esta clave del Registro puede cambiar la frecuencia de creación de puntos de restauración.

Si la aplicación llama a SRSetRestorePoint para crear un punto de restauración y el valor de la clave del Registro es 0, la restauración del sistema no omite la creación del nuevo punto de restauración.

Si la aplicación llama a SRSetRestorePoint para crear un punto de restauración y el valor de la clave del Registro es el entero N, la restauración del sistema omite la creación de un nuevo punto de restauración si se crearon puntos de restauración en los N minutos anteriores.

Windows 8:

La restauración del sistema que se ejecuta en Windows 8 supervisa los archivos del volumen de arranque que son pertinentes solo para la restauración del sistema. Las instantáneas del volumen de arranque creado por la restauración del sistema que se ejecuta en Windows 8 se pueden eliminar si la instantánea se expone posteriormente mediante una versión anterior de Windows. Tenga en cuenta que, aunque solo hay un volumen del sistema, hay un volumen de arranque para cada sistema operativo en un sistema de arranque múltiple.

Los desarrolladores pueden escribir aplicaciones que creen el valor DWORD ScopeSnapshots en la clave del Registro HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore. Si este valor de clave del Registro es 0, La restauración del sistema crea instantáneas del volumen de arranque de la misma manera que en versiones anteriores de Windows. Si se elimina este valor, la restauración del sistema que se ejecuta en Windows 8 reanuda la creación de instantáneas que supervisan los archivos del volumen de arranque que son pertinentes solo para la restauración del sistema.

Ejemplos

Para obtener un ejemplo, vea Using System Restore.

Nota

El encabezado srrestoreptapi.h define SRSetRestorePoint como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido No se admite ninguna
de la plataforma de destino de Windows
encabezado de srrestoreptapi.h
DLL de SrClient.dll

Consulte también

srRemoveRestorePoint