EVT_PACKET_QUEUE_START Rückruffunktion (netpacketqueue.h)
Die Rückruffunktion EvtPacketQueueStart ist ein optionaler Rückruf, der vom Clienttreiber implementiert wird, um den Datenpfad für eine Paketwarteschlange zu starten.
Syntax
EVT_PACKET_QUEUE_START EvtPacketQueueStart;
void EvtPacketQueueStart(
[_In_] NETPACKETQUEUE PacketQueue
)
{...}
Parameter
[_In_] PacketQueue
Ein Handle für eine Paketwarteschlange.
Rückgabewert
Keine
Bemerkungen
Dies ist ein optionaler Rückruf. Registrieren Sie diese Rückruffunktion in Ihrem EVT_NET_ADAPTER_CREATE_TX(RX)QUEUE-Rückruf . Legen Sie den entsprechenden Member einer NET_PACKET_QUEUE_CONFIG-Struktur fest, nachdem Sie die Struktur mit NET_PACKET_QUEUE_CONFIG_INIT initialisiert haben, und rufen Sie dann NetTx(Rx)QueueCreate auf.
Bei diesem Rückruf konfiguriert ein Clienttreiber in der Regel Informationen, die seine Hardware für die Paketübertragung oder den Empfang benötigt. Da dieser Rückruf keinen Wert zurückgibt und daher nicht fehlschlagen sollte, sollten Clienttreiber Während der Erstellung der Warteschlange Aktionen wie die Ressourcenzuordnung ausführen. Daher sollte dieser Rückruf eine einfache Funktion sein, die schnell ausgeführt werden kann.
Clienttreiber erhalten erst nach der Rückgabe von EvtPacketQueueStart Aufrufe von EVT_PACKET_QUEUE_ADVANCE, EVT_PACKET_QUEUE_CANCEL oder EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED. Darüber hinaus wird EvtPacketQueueStart im gleichen Ausführungskontext oder Thread als EvtPacketQueueAdvance, EvtPacketQueueCancel und EvtPacketQueueSetNotificationEnabled aufgerufen, sodass Clienttreiber keine Synchronisierung zwischen diesen Rückruffunktionen für eine einzelne Warteschlange instance müssen.
Wenn eine Warteschlange gestartet wird, garantiert NetAdapterCx, dass BeginIndex == NextIndex == 0 für alle Ringpuffer dieser Warteschlange ist. Nach dem Start liest oder schreibt das Framework NextIndex für Paketringpuffer nicht, sodass Clienttreiber es bei Bedarf verwenden oder nicht verwenden möchten. BeginIndex wird vom Framework gelesen, aber außerhalb von EvtPacketQueueStart nicht geändert.
Weitere Informationen und ein Diagramm, das das NetAdapterCx-Datenpfadabrufmodell zeigt, finden Sie unter Übertragen und Empfangen von Warteschlangen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1,27 |
Kopfzeile | netpacketqueue.h (include netadaptercx.h) |
IRQL | PASSIVE_LEVEL |
Weitere Informationen
EVT_NET_ADAPTER_CREATE_RXQUEUE
EVT_NET_ADAPTER_CREATE_TXQUEUE
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für