Função WTSShutdownSystem (wtsapi32.h)
Desliga (e, opcionalmente, reinicia) o servidor do Host da Sessão da Área de Trabalho Remota (Host da Sessão da Área de Trabalho Remota) especificado.
Para desligar ou reiniciar o sistema, o processo de chamada deve ter o privilégio SE_SHUTDOWN_NAME habilitado. Para obter mais informações sobre privilégios de segurança, consulte Privilégios e constantes de autorização.
Sintaxe
BOOL WTSShutdownSystem(
[in] HANDLE hServer,
[in] DWORD ShutdownFlag
);
Parâmetros
[in] hServer
Manipule para um servidor host de sessão de área de trabalho remota. Especifique um identificador aberto pela função WTSOpenServer ou especifique WTS_CURRENT_SERVER_HANDLE para indicar o servidor Host da Sessão de Área de Trabalho Remota no qual o aplicativo está sendo executado.
[in] ShutdownFlag
Indica o tipo de desligamento. Esse parâmetro pode usar um dos valores a seguir.
WTS_WSD_LOGOFF
Força todas as sessões de cliente a fazer logoff (exceto a sessão que chama WTSShutdownSystem) e desabilita os logons remotos subsequentes. Isso pode ser usado como uma etapa antes de desligar. Os logons serão habilitados novamente quando o serviço de Serviços de Área de Trabalho Remota for reiniciado.
Use esse valor somente no console dos Serviços de Área de Trabalho Remota.
WTS_WSD_POWEROFF
Desliga o sistema no servidor Host da Sessão de Área de Trabalho Remota e, em computadores que dão suporte ao controle de software da energia AC, desativa a energia. Isso é equivalente a chamar ExitWindowsEx com EWX_SHUTDOWN e EWX_POWEROFF. O processo de chamada deve ter o privilégio SE_SHUTDOWN_NAME habilitado.
WTS_WSD_REBOOT
Desliga e reinicia o sistema no servidor Host da Sessão de Área de Trabalho Remota. Isso é equivalente a chamar ExitWindowsEx com EWX_REBOOT. O processo de chamada deve ter o privilégio SE_SHUTDOWN_NAME habilitado.
WTS_WSD_SHUTDOWN
Desliga o sistema no servidor Host da Sessão de Área de Trabalho Remota. Isso é equivalente a chamar a função ExitWindowsEx com EWX_SHUTDOWN. O processo de chamada deve ter o privilégio SE_SHUTDOWN_NAME habilitado.
WTS_WSD_FASTREBOOT
Atualmente, não há suporte para esse valor.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Um desligamento do sistema encerra todos os usuários e programas ativos. As etapas a seguir ocorrem durante o desligamento.
- Um comando exit é emitido para todos os aplicativos de usuário ativos.
- Se o aplicativo não sair dentro de um intervalo específico, o aplicativo será encerrado.
- Depois que todos os aplicativos de um usuário forem encerrados, o usuário será desconectado.
- Depois que todos os usuários são desconectados, um comando de saída é emitido para todos os serviços do sistema.
- Se o serviço do sistema não terminar dentro de um intervalo específico, o serviço será encerrado.
- O cache do sistema de arquivos é gravado em disco.
- Os discos são marcados como somente leitura.
- O servidor Host da Sessão de Área de Trabalho Remota exibe a mensagem "Agora é seguro desativar o computador" ou o sistema será reiniciado se WTS_WSD_REBOOT for especificado. (A mensagem é exibida no console porque todas as sessões do cliente foram encerradas.)
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | wtsapi32.h |
Biblioteca | Wtsapi32.lib |
DLL | Wtsapi32.dll |