Función RmRestart (restartmanager.h)
Reinicia las aplicaciones y los servicios que la función RmShutdown ha cerrado y que se han registrado para reiniciarse mediante la función RegisterApplicationRestart . El instalador principal solo puede llamar a esta función que llamó a la función RmStartSession para iniciar la sesión del Administrador de reinicio.
Sintaxis
DWORD RmRestart(
[in] DWORD dwSessionHandle,
DWORD dwRestartFlags,
[in, optional] RM_WRITE_STATUS_CALLBACK fnStatus
);
Parámetros
[in] dwSessionHandle
Identificador de la sesión existente del Administrador de reinicio.
dwRestartFlags
Reservado. Este parámetro debe ser 0.
[in, optional] fnStatus
Puntero a una función de devolución de llamada de mensaje de estado que se usa para comunicar el estado mientras se ejecuta la función RmRestart . Si es NULL, no se proporciona ningún estado.
Valor devuelto
Este es el error más reciente recibido. La función puede devolver uno de los códigos de error del sistema definidos en Winerror.h.
Valor | Significado |
---|---|
|
Este valor de error se devuelve si se llama a la función RmRestart con un identificador de sesión válido antes de llamar a la función RmShutdown . |
|
No se pudieron reiniciar una o varias aplicaciones. Las estructuras de RM_PROCESS_INFO devueltas por la función RmGetList contienen información de estado actualizada. |
|
Una función Restart Manager no pudo obtener una exclusión mutua de escritura del Registro en el tiempo asignado. Se recomienda reiniciar el sistema porque es probable que se produzca un error en el uso posterior del Administrador de reinicios. |
|
La función RmRestart devuelve este valor de error cuando la solicitud para cancelar una operación se realiza correctamente. |
|
Uno o más argumentos son incorrectos. La función Restart Manager devuelve este valor de error si se pasa un puntero NULL o 0 en un parámetro que requiere un valor distinto de NULL y distinto de cero. |
|
Una operación no pudo leer o escribir en el Registro. |
|
No se pudo completar una operación del Administrador de reinicio porque no había suficiente memoria disponible. |
|
No existe ninguna sesión del Administrador de reinicio para el identificador proporcionado. |
|
La función se realiza correctamente y devuelve. |
Comentarios
Después de llamar a la función RmRestart , las estructuras de RM_PROCESS_INFO devueltas por la función RmGetList contienen información de estado actualizada.
El Administrador de reinicio respeta los privilegios que separan diferentes sesiones de usuario o terminal. Un instalador que se ejecuta como servicio con privilegios LocalSystem no puede apagar ni reiniciar ninguna aplicación en otra sesión de usuario o terminal. Los instaladores deben implementar métodos personalizados para apagar y reiniciar aplicaciones que se ejecutan en otras sesiones. Un método sería iniciar un nuevo proceso de instalador en la otra sesión para realizar operaciones de apagado y reinicio.
Cuando el Administrador de reinicio cierra y reinicia una aplicación de consola, la aplicación se reinicia en una nueva consola.
Los instaladores siempre deben reiniciar la aplicación y los servicios mediante la función RmRestart incluso cuando la función RmShutdown devuelve un error que indica que no todas las aplicaciones y servicios podrían apagarse.
La función RmRestart no reinicia ninguna aplicación que se ejecute con privilegios elevados. Incluso si el Administrador de reinicio ha apagado la aplicación.
La función RmRestart no reinicia ninguna aplicación que no se ejecute como el usuario que ha iniciado sesión actualmente. Incluso si el Administrador de reinicio ha apagado la aplicación. Por ejemplo, la función RmRestart no reinicia las aplicaciones iniciadas con el comando Ejecutar como que no se ejecuta como el usuario que ha iniciado sesión actualmente. Estas aplicaciones deben reiniciarse manualmente.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | restartmanager.h |
Library | Rstrtmgr.lib |
Archivo DLL | Rstrtmgr.dll |