EVT_VMB_CHANNEL_STARTED fonction de rappel (vmbuskernelmodeclientlibapi.h)
[Certaines informations portent sur la préversion du produit, qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft ne donne aucune garantie, expresse ou implicite, concernant les informations fournies ici.]
La fonction de rappel EvtVmbChannelStarted est appelée au niveau de l’un ou l’autre point de terminaison lorsqu’un canal est entièrement configuré, mais avant la remise des paquets. Cela se produit lorsque le point de terminaison opposé a ouvert le canal ou l’a rouvert après sa fermeture.
Syntaxe
EVT_VMB_CHANNEL_STARTED EvtVmbChannelStarted;
void EvtVmbChannelStarted(
[in] VMBCHANNEL Channel
)
{...}
Paramètres
[in] Channel
Canal démarré.
Valeur de retour
None
Remarques
Une fois qu’un canal est créé, un pilote client peut spécifier des fonctions de rappel pour les modifications d’état, notamment EvtVmbChannelStarted, à l’aide de la fonction VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT .
Si un canal suspendu est ouvert ou qu’un canal ouvert est démarré, la bibliothèque cliente en mode noyau (KMCL) appelle EvtVmbChannelStarted après avoir appelé le rappel EvtVmbChannelOpened . EvtVmbChannelStarted peut appeler les fonctions VmbPacketSend, VmbPacketSendWithExternalMdl et VmbPacketSendWithExternalPfns pour mettre en file d’attente les paquets sortants. Étant donné que la file d’attente entrante n’est pas en cours d’exécution à ce stade, ce rappel ne doit pas bloquer les paquets entrants ou les achèvements.
La plupart des pilotes utilisant KMCL n’implémentent pas ce rappel. Une alternative est la fonction de rappel EvtVmbChannelPostStarted .
L’attente de la fin d’un paquet envoyé, par exemple par la fonction VmbChannelSendSynchronousRequest , ne retourne jamais, car les paquets ne circulent pas lorsque ce rappel est appelé.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | vmbuskernelmodeclientlibapi.h (inclure VmbusKernelModeClientLibApi.h) |
IRQL | PASSIVE_LEVEL |
Voir aussi
VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT