Suspension d’une liaison

Une fois que NDIS envoie à un pilote de protocole une notification d’événement de pause de Plug-and-Play réseau (PnP) pour une liaison, la liaison passe à l’état de suspension.

Pour notifier le pilote de protocole de l’événement de pause PnP, NDIS appelle la fonction ProtocolNetPnPEvent avec le membre NetEvent de la structure NET_PNP_EVENT_NOTIFICATION est définie sur NetEventPause. Le membre Buffer contient une structure NDIS_PROTOCOL_PAUSE_PARAMETERS .

Pour une liaison à l’état de suspension, le pilote de protocole :

  • Ne doit pas lancer de nouvelles demandes d’envoi.

  • Doit attendre que les demandes d’envoi en attente se terminent. L’opération de pause n’est pas terminée tant que NDIS n’appelle pas la fonction ProtocolSendNetBufferListsComplete pour toutes les demandes d’envoi en attente du pilote.

  • Doit gérer les indications de réception comme d’habitude. Le pilote miniport sous-jacent attend le retour des données de réception en attente avant d’effectuer une opération de pause. Cela garantit qu’il n’y a pas d’opérations de réception en cours dans la pile des pilotes après l’arrêt du pilote miniport.

  • Doit renvoyer immédiatement de nouvelles indications de réception à NDIS. Si nécessaire, le pilote peut copier ces indications de réception avant de les retourner.

Pour plus d’informations sur les opérations d’envoi et de réception du pilote de protocole, consultez Opérations d’envoi et de réception du pilote de protocole.

Une liaison passe à l’état Suspendu une fois que le pilote de protocole est terminé, en retournant les indications de réception en attente pour la liaison et NDIS a terminé toutes les demandes d’envoi en attente pour la liaison.

Pour une liaison à l’état Suspendu, le pilote de protocole :

  • Ne doit pas envoyer de demandes.

  • Doit retourner les indications de réception immédiatement. Si nécessaire, le pilote peut copier ces indications de réception avant de les retourner.