Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[Certaines informations concernent le produit préversion qui peut être sensiblement modifié avant sa publication commerciale. Microsoft n’offre aucune garantie, expresse ou implicite, en ce qui concerne les informations fournies ici.]
La fonction de rappel EvtVmbChannelSuspend est appelée sur le point de terminaison du serveur lorsque le canal est fermé ou supprimé par le point de terminaison client, ce qui déplace le serveur dans l’état Arrêté.
Syntaxe
EVT_VMB_CHANNEL_SUSPEND EvtVmbChannelSuspend;
VOID EvtVmbChannelSuspend(
[in] VMBCHANNEL Channel
)
{...}
Paramètres
[in] Channel
Canal suspendu.
Valeur de retour
Aucun
Remarques
Une fois qu’un canal est créé, un pilote client peut spécifier des fonctions de rappel pour les modifications d’état, notamment EvtVmbChannelSuspend, à l’aide de la fonction VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT.
Si un canal en cours d’exécution est suspendu à l’aide de la fonction VmbChannelPause ou fermé à l’aide de la fonction VmbChannelDisable ou par le point de terminaison opposé, la bibliothèque de client en mode noyau (KMCL) appelle EvtVmbChannelSuspend. Ce rappel garantit qu’aucun autre EvtVmbChannelProcessPacket rappels s’exécutent ou seront mis en file d’attente.
EvtVmbChannelSuspend est également une notification indiquant que le client KMCL doit finalement terminer tous les paquets en attente indiqués à l’aide de EvtVmbChannelProcessPacket Ces paquets n’ont pas besoin d’être terminés de manière synchrone. Blocs KMCL jusqu’à ce qu’ils soient terminés.
Le client KMCL doit également arrêter l’envoi de paquets à l’aide du VmbPacketSend, VmbPacketSendWithExternalMdlou fonctions VmbPacketSendWithExternalPfns.
Un appel à VmbChannelPause sur un canal actif bloque jusqu’à ce que EvtVmbChannelSuspend soit appelé et aucun paquet entrant en attente n’existe.
Un appel à VmbChannelDisable bloquer jusqu’à ce que le canal soit suspendu et fermé.
Cette fonction garantit l’achèvement des transactions en attente. Le client peut être buggy, malveillant ou la machine virtuelle invitée peut avoir bloqué. Le serveur doit mettre hors service toutes les transactions en attente, probablement en les annulant.
Exigences
| Exigence | Valeur |
|---|---|
| plateforme cible | Windows |
| d’en-tête | vmbuskernelmodeclientlibapi.h (include VmbusKernelModeClientLibApi.h) |
| IRQL | PASSIVE_LEVEL |