NDIS_POLL fonction de rappel (poll.h)
Les pilotes Miniport implémentent la fonction de rappel NdisPoll que NDIS interrogera pour obtenir des indications de réception et envoyer des achèvements.
Syntaxe
NDIS_POLL NdisPoll;
void() NdisPoll(
[_In_] void *Context,
[_Inout_] NDIS_POLL_DATA *PollData
)
{...}
Paramètres
[_In_] Context
Pointeur vers les informations de contexte fournies par le pilote lors de la création de l’objet Poll.
[_Inout_] PollData
Pointeur vers une structure de NDIS_POLL_DATA que le pilote doit utiliser pour recevoir des indications et envoyer des complétions. Il contient également des détails sur le nombre de NBL à indiquer.
Remarques
Les pilotes miniport inscrivent le rappel NdisPoll lors de l’initialisation de l’adaptateur miniport. Les pilotes spécifient un point d’entrée pour la fonction NdisPoll au niveau du paramètre PollHandler de la structure NDIS_POLL_CHARACTERISTICS avant d’appeler NdisRegisterPoll.
NDIS appelle d’abord le rappel NdisPoll lorsque le pilote appelle NdisRequestPoll. NDIS continue d’appeler NdisPoll pendant que le pilote progresse sur les indications de réception ou les achèvements de transmission.
Le rappel NdisPoll peut être appelé à la fois à PASSIVE_LEVEL et DISPATCH_LEVEL IRQL. Le pilote ne doit pas faire d’hypothèses sur son niveau.
Le pilote doit case activée les paramètres de réception ou de transmission de la structure NDIS_POLL_DATA pour obtenir le nombre maximal de NBL qu’il peut indiquer ou terminer.
Pour les indications de réception, le pilote doit :
- Récupérez jusqu’au nombre maximal de paquets Rx qu’il peut indiquer.
- Initialisez les NBL.
- Ajoutez-les à la file d’attente NBL fournie par la structure NDIS_POLL_RECEIVE_DATA (située dans la structure NDIS_POLL_DATA du paramètre NdisPollPollData ).
- Quittez le rappel.
Pour les achèvements de transmission, le pilote doit :
- Récupérez jusqu’au nombre maximal de paquets Tx qu’il peut terminer.
- Terminez les NBL.
- Ajoutez-les à la file d’attente NBL fournie par la structure NDIS_POLL_TRANSMIT_DATA (située dans la structure NDIS_POLL_DATA du paramètre NdisPollPollData ).
- Quittez le rappel.
Le pilote ne doit pas activer l’interruption de l’objet Poll avant de quitter la fonction NdisPoll . NDIS continue d’interroger le pilote jusqu’à ce qu’il évalue qu’aucune progression n’est effectuée. À ce stade, NDIS arrête l’interrogation et demande au pilote de réactiver l’interruption en appelant le rappel NdisSetPollNotification .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 11 |
Serveur minimal pris en charge | Windows Server 2022 |
En-tête | poll.h (include ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour