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 |