EVT_PACKET_QUEUE_START fonction de rappel (netpacketqueue.h)
La fonction de rappel EvtPacketQueueStart est un rappel facultatif implémenté par le pilote client pour démarrer le chemin des données d’une file d’attente de paquets.
Syntaxe
EVT_PACKET_QUEUE_START EvtPacketQueueStart;
void EvtPacketQueueStart(
[_In_] NETPACKETQUEUE PacketQueue
)
{...}
Paramètres
[_In_] PacketQueue
Handle dans une file d’attente de paquets.
Valeur de retour
None
Remarques
Il s’agit d’un rappel facultatif. Inscrivez cette fonction de rappel dans votre rappel EVT_NET_ADAPTER_CREATE_TX(RX)QUEUE . Définissez le membre approprié d’une structure NET_PACKET_QUEUE_CONFIG après avoir initialisé la structure avec NET_PACKET_QUEUE_CONFIG_INIT, puis appelez NetTx(Rx)QueueCreate.
Dans ce rappel, un pilote client configure généralement les informations dont son matériel a besoin pour la transmission ou la réception de paquets. Étant donné que ce rappel ne retourne pas de valeur et ne doit donc pas échouer, les pilotes clients doivent effectuer des actions telles que l’allocation de ressources lors de la création de la file d’attente. Par conséquent, ce rappel doit être une fonction légère qui s’exécute rapidement.
Les pilotes clients ne recevront pas d’appels à EVT_PACKET_QUEUE_ADVANCE, EVT_PACKET_QUEUE_CANCEL ou EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED tant qu’evtPacketQueueStart n’est pas retourné. En outre, EvtPacketQueueStart est appelé dans le même contexte d’exécution, ou thread, que EvtPacketQueueAdvance, EvtPacketQueueCancel et EvtPacketQueueSetNotificationEnabled, de sorte que les pilotes clients n’ont pas besoin de se synchroniser entre ces fonctions de rappel pour une file d’attente individuelle instance.
Quand une file d’attente démarre, NetAdapterCx garantit que BeginIndex == NextIndex == 0 pour toutes les mémoires tampons en anneau de cette file d’attente. Après le démarrage, l’infrastructure ne lit ni n’écrit NextIndex pour les mémoires tampons d’anneau de paquets, de sorte que les pilotes clients peuvent l’utiliser en fonction des besoins ou choisir de ne pas l’utiliser du tout. BeginIndex est lu par le framework, mais n’est pas modifié en dehors de EvtPacketQueueStart.
Pour plus d’informations et un diagramme montrant le modèle d’interrogation du chemin de données NetAdapterCx, consultez Files d’attente de transmission et de réception.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1,27 % |
En-tête | netpacketqueue.h (inclure netadaptercx.h) |
IRQL | PASSIVE_LEVEL |
Voir aussi
EVT_NET_ADAPTER_CREATE_RXQUEUE
EVT_NET_ADAPTER_CREATE_TXQUEUE
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