É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

MiniportInitializeEx

Initialisation

L’initialisation est terminée

Suspendu

MiniportShutdownEx

Shutdown

Shutdown

Shutdown

Shutdown

MiniportHaltEx

Arrêté

MiniportRestart

Redémarrage

Le redémarrage est terminé

Exécution en cours

MiniportPause

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.

Arrêt d’un adaptateur Miniport

Initialisation d’un adaptateur Miniport

Arrêt de l’adaptateur miniport

Opérations d’envoi et de réception du pilote Miniport

Suspension d’un adaptateur

Démarrage d’un adaptateur