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 |