NDIS_POLL funzione di callback (poll.h)
I driver Miniport implementano la funzione di callback NdisPoll che NDIS eseguirà il polling per ricevere indicazioni e inviare completamenti.
Sintassi
NDIS_POLL NdisPoll;
void() NdisPoll(
[_In_] void *Context,
[_Inout_] NDIS_POLL_DATA *PollData
)
{...}
Parametri
[_In_] Context
Puntatore alle informazioni di contesto fornite dal driver al momento della creazione dell'oggetto Poll.
[_Inout_] PollData
Puntatore a una struttura NDIS_POLL_DATA che il driver deve usare per ricevere indicazioni e inviare completamenti. Contiene anche informazioni dettagliate sul numero di NCL da indicare.
Osservazioni
I driver Miniport registrano il callback
NDIS richiamerà prima il callback
Il callback NdisPoll
Il driver deve controllare il ricevere o trasmettere i parametri della struttura di NDIS_POLL_DATA per ottenere il numero massimo di NRL che può indicare o completare.
Per ricevere indicazioni, il driver deve:
- Recuperare fino al numero massimo di pacchetti Rx che può indicare.
- Inizializzare gli elenchi di numeri di rete.
- Aggiungerli alla coda NBL fornita dalla struttura NDIS_POLL_RECEIVE_DATA ,che si trova nella struttura NDIS_POLL_DATA del parametro NdisPollPollData).
- Chiudere il callback.
Per i completamenti di trasmissione, il driver deve:
- Recupera fino al numero massimo di pacchetti Tx che può completare.
- Completare i criteri di rete.
- Aggiungerli alla coda NBL fornita dalla struttura NDIS_POLL_TRANSMIT_DATA ,che si trova nella struttura NDIS_POLL_DATA del parametro NdisPollPollData).
- Chiudere il callback.
Il driver non deve abilitare l'interrupt dell'oggetto Poll prima di uscire dalla funzione NdisPoll
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 11 |
server minimo supportato | Windows Server 2022 |
intestazione |
poll.h (include ndis.h) |
IRQL | <= DISPATCH_LEVEL |