Função WSManDisconnectShell (wsman.h)
Desconecta a conexão de rede de um shell ativo e seus comandos associados.
Sintaxe
void WSManDisconnectShell(
[in, out] WSMAN_SHELL_HANDLE shell,
DWORD flags,
[in] WSMAN_SHELL_DISCONNECT_INFO *disconnectInfo,
[in] WSMAN_SHELL_ASYNC *async
);
Parâmetros
[in, out] shell
Especifica o identificador retornado por uma chamada para a função WSManCreateShell . Esse parâmetro não pode ser NULL.
flags
Pode ser um sinalizador de WSMAN_FLAG_SERVER_BUFFERING_MODE_DROP ou um sinalizador de WSMAN_FLAG_SERVER_BUFFERING_MODE_BLOCK .
[in] disconnectInfo
Um ponteiro para uma estrutura WSMAN_SHELL_DISCONNECT_INFO que especifica um tempo limite ocioso que a sessão do servidor pode impor. Se esse parâmetro for NULL, o tempo limite de ociosidade da sessão do servidor não será alterado.
[in] async
Define uma estrutura assíncrona para conter um contexto de usuário opcional e uma função de retorno de chamada obrigatória. Para obter mais informações, consulte WSMAN_SHELL_ASYNC. Esse parâmetro não pode ser NULL.
Retornar valor
Nenhum
Comentários
Essa função suspende a conexão de rede com uma sessão de servidor conectada ativamente. Todas as operações executadas na instância do shell, como WSManRunShellCommand, WSManSendShellInput ou WSManSignalShell, são associadas à conclusão antes da desconexão. Isso garante que todos os dados enviados por meio do WSManSendShellInput sejam recebidos pela sessão do servidor antes que o shell se desconecte. Opcionalmente, o cliente pode modificar o modo de buffer do servidor usando sinalizadores. O seguinte comportamento é observado:
- WSMAN_FLAG_SERVER_BUFFERING_MODE_DROP – quando os buffers estão cheios, o servidor descarta dados anteriores em buffers de fluxo de resposta para garantir que a operação de comando correspondente continue a ser executada.
-
WSMAN_FLAG_SERVER_BUFFERING_MODE_BLOCK – quando os buffers de fluxo de resposta estão cheios, o servidor bloqueia a execução do comando. Se nenhum sinalizador for especificado, o servidor continuará a usar o modo configurado ou o modo especificado quando o shell foi criado. No caso de uma falha de rede, se o cliente não conseguir contatar a sessão para desconectar o shell, o seguinte erro será retornado:
ERROR_WINRS_SHELL_DISCONNECT_OPERATION_NOT_GRACEFUL
A sessão do cliente ainda entra em um estado desconectado, mas não é garantido que nenhuma operação anterior tenha sido concluída antes de a sessão ser desconectada.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 |
Servidor mínimo com suporte | Windows Server 2012 |
Plataforma de Destino | Windows |
Cabeçalho | wsman.h |
Biblioteca | WsmSvc.lib |
DLL | WsmSvc.dll |