EVT_PACKET_QUEUE_START función de devolución de llamada (netpacketqueue.h)
La función de devolución de llamada EvtPacketQueueStart es una devolución de llamada opcional implementada por el controlador cliente para iniciar la ruta de acceso de datos de una cola de paquetes.
Sintaxis
EVT_PACKET_QUEUE_START EvtPacketQueueStart;
void EvtPacketQueueStart(
[_In_] NETPACKETQUEUE PacketQueue
)
{...}
Parámetros
[_In_] PacketQueue
Identificador de una cola de paquetes.
Valor devuelto
Ninguno
Observaciones
Se trata de una devolución de llamada opcional. Registre esta función de devolución de llamada en la EVT_NET_ADAPTER_CREATE_TX(RX)QUEUE devolución de llamada. Establezca el miembro adecuado de una estructura de NET_PACKET_QUEUE_CONFIG después de inicializar la estructura con NET_PACKET_QUEUE_CONFIG_INITy, a continuación, llame a NetTx(Rx)QueueCreate.
En esta devolución de llamada, un controlador cliente normalmente configura información que su hardware necesita para la transmisión o recepción de paquetes. Dado que esta devolución de llamada no devuelve un valor y, por lo tanto, no debe producir un error, los controladores de cliente deben realizar acciones como la asignación de recursos durante la creación de la cola. Por lo tanto, esta devolución de llamada debe ser una función ligera que se ejecuta rápidamente.
Los controladores cliente no recibirán llamadas a EVT_PACKET_QUEUE_ADVANCE, EVT_PACKET_QUEUE_CANCELo EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED hasta después de evtPacketQueueStart. Además, EvtPacketQueueStart se llama en el mismo contexto de ejecución, o subproceso, como EvtPacketQueueAdvance, EvtPacketQueueCancely EvtPacketQueueSetNotificationEnabled, por lo que los controladores de cliente no necesitan sincronizar entre estas funciones de devolución de llamada para una instancia de cola individual.
Cuando se inicia una cola, NetAdapterCx garantiza que BeginIndex == NextIndex == 0 para todos los búferes de anillo de esta cola. Después de iniciarse, el marco no lee ni escribe NextIndex para los búferes de anillo de paquetes, por lo que los controladores cliente pueden usarlo según sea necesario o optar por no usarlo en absoluto. BeginIndex lo lee el marco, pero no se modifica fuera de EvtPacketQueueStart.
Para obtener más información y un diagrama en el que se muestra el modelo de sondeo de ruta de acceso de datos de NetAdapterCx, consulte Transmitir y recibir colas.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.27 |
versión mínima de UMDF | 2.33 |
encabezado de | netpacketqueue.h (include netadaptercx.h) |
irQL | PASSIVE_LEVEL |
Consulte también
EVT_NET_ADAPTER_CREATE_RXQUEUE
EVT_NET_ADAPTER_CREATE_TXQUEUE