Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
NDIS appelle la fonction MiniportMessageInterrupt lorsqu’une carte d’interface réseau génère une interruption. Le paramètre MessageId dans cette fonction identifie le message MSI-X.
MiniportMessageInterrupt doit toujours retourner TRUE après le traitement de l’interruption, car les interruptions de message ne sont pas partagées.
Un pilote miniport doit effectuer le moins de travail possible dans sa fonction MiniportMessageInterrupt. Le pilote doit différer les opérations d’E/S vers la fonction MiniportMessageInterruptDpc, que NDIS appelle pour terminer le traitement différé d’une interruption.
Pour mettre en file d'attente des appels de procédures différées supplémentaires après que MiniportMessageInterrupt a produit un retour, le pilote miniport définit les bits du paramètre TargetProcessors de la fonction MiniportMessageInterrupt. Pour demander des appels de procédures différées supplémentaires depuis MiniportMessageInterrupt ou MiniportMessageInterruptDPC, le pilote miniport peut appeler la fonction NdisMQueueDpc.
Le pilote miniport peut appeler NdisMQueueDpc pour demander des appels de procédures différées supplémentaires pour d’autres processeurs.
NDIS 6.1 et versions ultérieures garantit que les DPCs pour différents messages planifiés pour le même processeur sont mis en file d’attente séparément. Par exemple, si un pilote miniport planifie deux DPCs en même temps sur le processeur 1 (un DPC pour le message 0 et l'autre DPC pour le message 1), deux DPCs sont mis en file d'attente pour le processeur 1 (un DPC avec le message 0 et l'autre DPC avec le message 1).
NDIS garantit également que les appels de procédures différées pour le même message planifiés sur différents processeurs sont mis en file d’attente séparément. Par exemple, si un pilote miniport planifie deux DPCs (un DPC sur le processeur 0 pour le message 0 et un DPC sur le processeur 1 pour le message 0), deux DPCs distincts sont mis en file d’attente sur le processeur 0 et le processeur 1, tous les deux pour le message 0.