Compartir a través de


Función WSManDisconnectShell (wsman.h)

Desconecta la conexión de red de un shell activo y sus comandos asociados.

Sintaxis

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 el identificador devuelto por una llamada a la función WSManCreateShell . Este parámetro no puede ser NULL.

flags

Puede ser una marca de WSMAN_FLAG_SERVER_BUFFERING_MODE_DROP o una marca de WSMAN_FLAG_SERVER_BUFFERING_MODE_BLOCK .

[in] disconnectInfo

Puntero a una estructura de WSMAN_SHELL_DISCONNECT_INFO que especifica un tiempo de espera de inactividad que la sesión del servidor puede aplicar. Si este parámetro es NULL, no se cambiará el tiempo de espera de inactividad de la sesión del servidor.

[in] async

Define una estructura asincrónica para contener un contexto de usuario opcional y una función de devolución de llamada obligatoria. Para obtener más información, consulte WSMAN_SHELL_ASYNC. Este parámetro no puede ser NULL.

Valor devuelto

None

Observaciones

Esta función suspende la conexión de red a una sesión de servidor conectada activamente. Las operaciones realizadas en la instancia de shell, como WSManRunShellCommand, WSManSendShellInput o WSManSignalShell, se enlazan para completarse antes de la desconexión. Esto garantiza que la sesión del servidor reciba los datos enviados a través de WSManSendShellInput antes de que el shell se desconecte. Opcionalmente, el cliente puede modificar el modo de almacenamiento en búfer del servidor mediante marcas. Se observa el siguiente comportamiento:

  • WSMAN_FLAG_SERVER_BUFFERING_MODE_DROP: cuando los búferes están llenos, el servidor quita los datos anteriores en los búferes de flujo de respuesta para asegurarse de que la operación de comando correspondiente continúa ejecutándose.
  • WSMAN_FLAG_SERVER_BUFFERING_MODE_BLOCK: cuando los búferes de flujo de respuesta están llenos, el servidor bloquea la ejecución del comando. Si no se especifica ninguna marca, el servidor sigue usando el modo configurado o el modo especificado cuando se creó el shell. En caso de error de red, si el cliente no puede ponerse en contacto con la sesión para desconectar el shell, se devuelve el siguiente error:

    ERROR_WINRS_SHELL_DISCONNECT_OPERATION_NOT_GRACEFUL

    La sesión de cliente sigue en un estado desconectado, pero no se garantiza que se hayan completado operaciones anteriores antes de que se desconecte la sesión.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Windows
Encabezado wsman.h
Library WsmSvc.lib
Archivo DLL WsmSvc.dll