Share via


Démarrage d’une pile de pilotes

Une fois que le système a détecté un périphérique réseau, le système démarre une pile de pilotes NDIS pour l’appareil. L’appareil peut être un appareil virtuel ou un appareil physique. Dans les deux cas, une opération de démarrage de pile de pilotes se poursuit comme suit :

  1. Le système charge et initialise les pilotes s’ils ne sont pas déjà chargés.

    Il ne charge pas les pilotes dans un ordre particulier.

  2. Le système appelle la fonction DriverEntry de chaque pilote.

    Une fois que DriverEntry retourne :

    • L’adaptateur miniport de l’appareil est à l’état Arrêté.
    • Les modules de filtre sont à l’état Détaché.
    • La liaison de protocole est à l’état Non lié.
  3. Le système demande NDIS de démarrer l’adaptateur miniport.

    Pour initialiser l’adaptateur miniport, NDIS appelle la fonction MiniportInitializeEx du pilote miniport . Si MiniportInitializeEx réussit, l’adaptateur miniport passe à l’état Suspendu.

  4. NDIS attache les modules de filtre, en commençant par le module le plus proche du pilote miniport et en progressant vers le haut de la pile de pilotes.

    Pour demander au pilote d’attacher un module de filtre à la pile de pilotes, NDIS appelle la fonction FilterAttach d’un pilote de filtre. Si chaque opération d’attachement réussit, le module de filtre entre dans l’état Suspendu.

  5. Une fois que tous les pilotes sous-jacents sont à l’état Suspendu, NDIS appelle la fonction ProtocolBindAdapterEx du pilote de protocole.

    Ensuite, la liaison de pilote de protocole entre dans l’état Ouverture. Le pilote de protocole appelle la fonction NdisOpenAdapterEx pour ouvrir la liaison avec l’adaptateur miniport.

  6. NDIS alloue les ressources nécessaires pour la liaison et appelle la fonction ProtocolOpenAdapterCompleteEx du pilote de protocole.

    La liaison entre dans l’état Suspendu.

  7. Pour terminer l’opération de liaison, le pilote de protocole appelle la fonction NdisCompleteBindAdapterEx .

  8. NDIS redémarre la pile de pilotes. Pour plus d’informations sur le redémarrage de la pile de pilotes, consultez Redémarrage d’une pile de pilotes.