Compartir a través de


Función WTSShutdownSystem (wtsapi32.h)

Apaga (y, opcionalmente, reinicia) el servidor de host de sesión de Escritorio remoto (host de sesión de Escritorio remoto) especificado.

Para apagar o reiniciar el sistema, el proceso de llamada debe tener habilitado el privilegio SE_SHUTDOWN_NAME . Para obtener más información sobre los privilegios de seguridad, vea Privilegios y constantes de autorización.

Sintaxis

BOOL WTSShutdownSystem(
  [in] HANDLE hServer,
  [in] DWORD  ShutdownFlag
);

Parámetros

[in] hServer

Identificador de un servidor host de sesión de Escritorio remoto. Especifique un identificador abierto por la función WTSOpenServer o especifique WTS_CURRENT_SERVER_HANDLE para indicar el servidor host de sesión de Escritorio remoto en el que se ejecuta la aplicación.

[in] ShutdownFlag

Indica el tipo de apagado. Este parámetro puede ser uno de los valores siguientes.

WTS_WSD_LOGOFF

Obliga a todas las sesiones de cliente a cerrar sesión (excepto la sesión que llama a WTSShutdownSystem) y deshabilita los inicios de sesión remotos posteriores. Esto se puede usar como paso antes de apagarse. Los inicios de sesión se volverán a habilitar cuando se reinicie el servicio Servicios de Escritorio remoto.

Use este valor solo en la consola de Servicios de Escritorio remoto.

WTS_WSD_POWEROFF

Apaga el sistema en el servidor host de sesión de Escritorio remoto y, en equipos que admiten el control de software de la alimentación de CA, apaga la alimentación. Esto equivale a llamar a ExitWindowsEx con EWX_SHUTDOWN y EWX_POWEROFF. El proceso de llamada debe tener habilitado el privilegio SE_SHUTDOWN_NAME .

WTS_WSD_REBOOT

Se apaga y, a continuación, reinicia el sistema en el servidor host de sesión de Escritorio remoto. Esto equivale a llamar a ExitWindowsEx con EWX_REBOOT. El proceso de llamada debe tener habilitado el privilegio SE_SHUTDOWN_NAME .

WTS_WSD_SHUTDOWN

Apaga el sistema en el servidor host de sesión de Escritorio remoto. Esto equivale a llamar a la función ExitWindowsEx con EWX_SHUTDOWN. El proceso de llamada debe tener habilitado el privilegio SE_SHUTDOWN_NAME .

WTS_WSD_FASTREBOOT

Este valor no se admite actualmente.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Un apagado del sistema finaliza todos los usuarios y programas activos. Los pasos siguientes se producen durante el apagado.

  1. Se emite un comando exit a todas las aplicaciones de usuario activas.
  2. Si la aplicación no sale dentro de un intervalo específico, la aplicación finaliza.
  3. Una vez finalizadas todas las aplicaciones de un usuario, el usuario se cierra la sesión.
  4. Una vez que todos los usuarios han cerrado la sesión, se emite un comando exit a todos los servicios del sistema.
  5. Si el servicio del sistema no finaliza dentro de un intervalo específico, el servicio finaliza.
  6. La caché del sistema de archivos se escribe en el disco.
  7. Los discos están marcados como de solo lectura.
  8. El servidor host de sesión de Escritorio remoto muestra el mensaje "Ahora es seguro desactivar el equipo" o el sistema se reinicia si se especifica WTS_WSD_REBOOT . (El mensaje se muestra en la consola porque se han terminado todas las sesiones de cliente).
Nota Dado que puede haber muchos usuarios y procesos en una configuración de varios usuarios de gran tamaño, las configuraciones de sistema grandes pueden tardar algún tiempo en apagarse de forma ordenada. Es importante permitir que el sistema se apague por completo.
 
Windows Server 2008 y Windows Vista: Una llamada a WTSShutdownSystem no funciona cuando el Administrador de conexiones remoto (RCM) está deshabilitado. Este es el caso cuando se detiene el servicio Servicios de Escritorio remoto.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado wtsapi32.h
Library Wtsapi32.lib
Archivo DLL Wtsapi32.dll

Consulte también

ExitWindowsEx