États et opérations de l’adaptateur miniport
Pour chaque adaptateur qu’il gère, un pilote miniport NDIS 6.0 ou version ultérieure doit prendre en charge l’ensemble d’états opérationnels suivant :
Arrêté
L’état Arrêté est l’état initial de toutes les cartes. Lorsqu’une carte est à l’état Arrêté, NDIS peut appeler la fonction MiniportInitializeEx du pilote pour initialiser l’adaptateur.
Arrêt
Dans l’état Arrêt, un arrêt et un redémarrage du système doivent se produire avant que le système puisse à nouveau utiliser l’adaptateur.
Initialisation
Dans l’état Initialisation, un pilote miniport effectue toutes les opérations nécessaires à l’initialisation d’une carte.
Pause
Dans l’état Suspendu, la carte n’indique pas les données réseau reçues et n’accepte pas les demandes d’envoi.
Redémarrage
Dans l’état Redémarrage, un pilote miniport effectue toutes les opérations requises pour redémarrer les opérations d’envoi et de réception d’une carte.
Exécution
Dans l’état En cours d’exécution, un pilote miniport effectue le traitement d’envoi et de réception pour une carte.
Pause
Dans l’état Suspension, un pilote miniport effectue toutes les opérations nécessaires pour arrêter les opérations d’envoi et de réception d’un adaptateur.
Dans le tableau suivant, les en-têtes sont les états de l’adaptateur. Les événements principaux sont répertoriés dans la première colonne. Le reste des entrées de la table spécifient l’état suivant que l’adaptateur entre après qu’un événement se produit dans un état. Les entrées vides représentent des combinaisons événement/état non valides.
Événement \ État | Arrêté | Shutdown | Initialisation | Suspendu | Redémarrage | Exécution en cours | Suspension en cours |
---|---|---|---|---|---|---|---|
Initialisation |
|||||||
L’initialisation est terminée |
Suspendu |
||||||
Shutdown |
Shutdown |
Shutdown |
Shutdown |
||||
Arrêté |
|||||||
Redémarrage |
|||||||
Le redémarrage est terminé |
Exécution en cours |
||||||
Suspension en cours |
|||||||
La pause est terminée |
Suspendu |
||||||
Échec de l’initialisation |
Arrêté |
||||||
Échec du redémarrage |
Suspendu |
||||||
Opérations d’envoi et de réception |
Exécution en cours |
Suspension en cours |
|||||
Requêtes OID |
Suspendu |
Redémarrage |
Exécution en cours |
Suspension en cours |
Note Les événements répertoriés dans le tableau précédent sont les événements principaux d’un adaptateur NDIS 6.0 ou version ultérieure.
Note L’opération de réinitialisation n’affecte pas les états opérationnels de l’adaptateur miniport. L’état de l’adaptateur peut changer pendant qu’une opération de réinitialisation est en cours. Par exemple, NDIS peut appeler le gestionnaire de pause d’un pilote lorsqu’une opération de réinitialisation est en cours. Dans ce cas, le pilote peut effectuer l’opération de réinitialisation ou de pause dans n’importe quel ordre tout en respectant les exigences normales pour chaque opération. Pour une opération de réinitialisation, le pilote peut échouer la transmission des paquets de requête ou les maintenir en file d’attente et les terminer ultérieurement. Toutefois, vous devez noter qu’un pilote qui se superpose ne peut pas effectuer une opération de pause tant que ses paquets de transmission sont en attente.
Les événements principaux du pilote miniport sont définis comme suit :
MiniportInitializeEx
NDIS a appelé la fonction MiniportInitializeEx du pilote pour initialiser une carte. Pour plus d’informations sur l’initialisation de l’adaptateur, consultez Initialisation d’un adaptateur Miniport.
L’initialisation est terminée
Une fois que MiniportInitializeEx est retourné avec succès, l’opération d’initialisation est terminée et l’adaptateur est à l’état Suspendu.
MiniportShutdownEx
NDIS a appelé la fonction MiniportShutdownEx du pilote pour arrêter un adaptateur. Pour plus d’informations, consultez Arrêt de l’adaptateur Miniport.
MiniportHaltEx
NDIS a appelé la fonction MiniportHaltEx du pilote pour arrêter une carte. Pour plus d’informations, consultez Arrêt d’un adaptateur Miniport.
MiniportRestart
NDIS a appelé la fonction MiniportRestart du pilote pour redémarrer une carte en pause. Étant donné qu’une carte est à l’état Suspendu après l’initialisation, cet événement est également nécessaire pour démarrer l’adaptateur une fois l’initialisation de l’adaptateur terminée. Pour plus d’informations, consultez Démarrage d’un adaptateur.
Le redémarrage est terminé
Une fois que le pilote est prêt à gérer les opérations d’envoi et de réception, l’opération de redémarrage est terminée et l’adaptateur est à l’état En cours d’exécution.
MiniportPause
NDIS a appelé la fonction MiniportPause du pilote pour suspendre une carte. Pour plus d’informations, consultez Suspension d’un adaptateur.
La pause est terminée
Une fois que le pilote a terminé toutes les opérations nécessaires pour arrêter les opérations d’envoi et de réception, l’opération de pause est terminée et l’adaptateur est à l’état Suspendu.
Note Le pilote doit attendre que NDIS retourne toutes ses indications de réception en attente avant que l’opération de pause soit terminée.
Échec de l’initialisation
Si NDIS appelle la fonction MiniportInitializeEx d’un pilote et que la tentative d’initialisation échoue, l’adaptateur retourne à l’état Arrêté.
Échec du redémarrage
Si NDIS appelle la fonction MiniportRestart d’un pilote et que la tentative de redémarrage échoue, l’adaptateur reste à l’état Suspendu.
Opérations d’envoi et de réception
Un pilote doit gérer les opérations d’envoi et de réception dans les états En cours d’exécution et De suspension. Pour plus d’informations sur les opérations d’envoi et de réception, consultez Opérations d’envoi et de réception du pilote Miniport.
Requêtes OID
Un pilote doit gérer les requêtes OID dans les états En cours d’exécution, redémarrage, En pause et Mise en pause. Pour plus d’informations sur les demandes OID, consultez Demandes d’OID pour un adaptateur.
Rubriques connexes
Arrêt d’un adaptateur Miniport
Initialisation d’un adaptateur Miniport
Arrêt de l’adaptateur miniport