Partager via


Fonction WSManDisconnectShell (wsman.h)

Déconnecte la connexion réseau d’un interpréteur de commandes actif et les commandes associées.

Syntaxe

void WSManDisconnectShell(
  [in, out] WSMAN_SHELL_HANDLE          shell,
            DWORD                       flags,
  [in]      WSMAN_SHELL_DISCONNECT_INFO *disconnectInfo,
  [in]      WSMAN_SHELL_ASYNC           *async
);

Paramètres

[in, out] shell

Spécifie le handle retourné par un appel à la fonction WSManCreateShell . Ce paramètre ne peut pas avoir la valeur NULL.

flags

Il peut s’agir d’un indicateur de WSMAN_FLAG_SERVER_BUFFERING_MODE_DROP ou d’un indicateur de WSMAN_FLAG_SERVER_BUFFERING_MODE_BLOCK .

[in] disconnectInfo

Pointeur vers une structure de WSMAN_SHELL_DISCONNECT_INFO qui spécifie un délai d’inactivité que la session serveur peut appliquer. Si ce paramètre a la valeur NULL, le délai d’inactivité de la session serveur n’est pas modifié.

[in] async

Définit une structure asynchrone pour contenir un contexte utilisateur facultatif et une fonction de rappel obligatoire. Pour plus d’informations, consultez WSMAN_SHELL_ASYNC. Ce paramètre ne peut pas avoir la valeur NULL.

Valeur de retour

None

Remarques

Cette fonction interrompt la connexion réseau à une session de serveur activement connectée. Toutes les opérations effectuées sur le instance de l’interpréteur de commandes, telles que WSManRunShellCommand, WSManSendShellInput ou WSManSignalShell, sont liées à l’exécution avant la déconnexion. Cela garantit que toutes les données envoyées via WSManSendShellInput sont reçues par la session serveur avant que l’interpréteur de commandes ne se déconnecte. Le client peut éventuellement modifier le mode de mise en mémoire tampon du serveur à l’aide d’indicateurs. Le comportement suivant est observé :

  • WSMAN_FLAG_SERVER_BUFFERING_MODE_DROP : lorsque les mémoires tampons sont pleines, le serveur supprime les données antérieures dans les mémoires tampons de flux de réponse pour s’assurer que l’opération de commande correspondante continue de s’exécuter.
  • WSMAN_FLAG_SERVER_BUFFERING_MODE_BLOCK : lorsque les tampons de flux de réponse sont pleins, le serveur bloque l’exécution des commandes. Si aucun indicateur n’est spécifié, le serveur continue d’utiliser le mode configuré ou le mode spécifié lors de la création de l’interpréteur de commandes. En cas de défaillance réseau, si le client ne parvient pas à contacter la session pour déconnecter l’interpréteur de commandes, l’erreur suivante est retournée :

    ERROR_WINRS_SHELL_DISCONNECT_OPERATION_NOT_GRACEFUL

    La session cliente passe toujours dans un état déconnecté, mais il n’est pas garanti que les opérations antérieures aient été effectuées avant que la session ne soit déconnectée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Windows
En-tête wsman.h
Bibliothèque WsmSvc.lib
DLL WsmSvc.dll