Compartilhar via


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