NDIS_POLL función de devolución de llamada (poll.h)
Los controladores de miniporte implementan la función de devolución de llamada de NdisPoll que NDIS sondeará para recibir indicaciones y enviar finalizaciones.
Sintaxis
NDIS_POLL NdisPoll;
void() NdisPoll(
[_In_] void *Context,
[_Inout_] NDIS_POLL_DATA *PollData
)
{...}
Parámetros
[_In_] Context
Puntero a la información de contexto proporcionada por el controlador al crear el objeto Poll.
[_Inout_] PollData
Puntero a una estructura NDIS_POLL_DATA que el controlador debe usar para realizar indicaciones de recepción y enviar finalizaciones. También contiene detalles sobre el número de NBL que se deben indicar.
Observaciones
Los controladores de miniporte registran el NdisPoll devolución de llamada durante la inicialización del adaptador de miniport. Los controladores especifican un punto de entrada para la función de
NDIS invocará primero la devolución de llamada de NdisPoll cuando el controlador llame a NdisRequestPoll. NDIS seguirá invocando NdisPoll mientras el controlador avanza en las indicaciones de recepción o las finalizaciones de transmisión.
La devolución de llamada
El controlador debe comprobar el recibir o transmitir parámetros de la estructura de NDIS_POLL_DATA para obtener el número máximo de NBL que puede indicar o completar.
Para las indicaciones de recepción, el controlador debe:
- Capturar hasta el número máximo de paquetes Rx que puede indicar.
- Inicialice las NCL.
- Agréguelos a la cola NBL proporcionada por la estructura NDIS_POLL_RECEIVE_DATA (ubicada en la estructura NDIS_POLL_DATA del parámetro NdisPollPollData).
- Salga de la devolución de llamada.
Para las finalizaciones de transmisión, el controlador debe:
- Capturar hasta el número máximo de paquetes Tx que puede completar.
- Complete las NBL.
- Agréguelos a la cola NBL proporcionada por la estructura de
(ubicada en la estructuraNDIS_POLL_TRANSMIT_DATA del parámetro NdisPollNDIS_POLL_DATA PollData ). - Salga de la devolución de llamada.
El controlador no debe habilitar la interrupción del objeto Poll antes de salir de la función NdisPoll. NDIS seguirá sondeando al controlador hasta que evalúe que no se está realizando ningún progreso hacia delante. En este momento, NDIS dejará de sondear y pedirá al controlador que vuelva a habilitar la interrupción invocando la devolución de llamada NdisSetPollNotification.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 11 |
servidor mínimo admitido | Windows Server 2022 |
encabezado de |
poll.h (include ndis.h) |
irQL | <= DISPATCH_LEVEL |