Come NDIS rileva le schede di rete inattive
Dopo che il driver miniport ha abilitato la sospensione selettiva NDIS e ha registrato le funzioni del gestore, NDIS monitora l'attività di I/O della scheda di rete nel modo seguente:
NDIS monitora le chiamate alle funzioni del gestore I/O registrate dal driver miniport tramite le strutture NDIS_MINIPORT_DRIVER_CHARACTERISTICS e NDIS_MINIPORT_PNP_CHARACTERISTICS. Ad esempio, NDIS monitora le chiamate al driver miniport MiniportSendNetBufferLists o MiniportReturnNetBufferLists per determinare se il driver è coinvolto in qualsiasi attività di I/O di pacchetto.
NDIS monitora anche le chiamate di NdisOidRequest e NdisDirectOidRequest effettuate dai driver di protocollo sovrastanti.
Nota NDIS monitora solo le richieste di identificatori di oggetti (OID) al driver miniport sottostante che non sono gestite direttamente da NDIS.
NDIS determina che la scheda di rete è inattiva se non rileva alcuna attività nella scheda per un periodo di timeout di inattività. La durata di questo periodo di timeout viene specificata dal valore della parola chiave INF *SSIdleTimeout standard. Per altre informazioni su questa parola chiave, vedere parole chiave INF standardizzate per NDIS Selective Suspend.
Dopo che la scheda di rete è diventata inattiva, NDIS avvia l'operazione di sospensione selettiva. Tramite questa operazione, la scheda di rete viene sospesa passandola a uno stato a basso consumo.
NDIS avvia questa operazione di sospensione selettiva inviando una notifica di inattività al driver miniport. NDIS esegue questa operazione chiamando la funzione del gestore MiniportIdleNotification del driver. Per altre informazioni su come il driver miniport gestisce questa notifica, vedere Gestione della notifica di inattività di sospensione selettiva NDIS.
Se NDIS rileva che le richieste di I/O alla scheda di rete vengono eseguite dai driver di sovrapposizione o se la scheda segnala un evento di riattivazione, NDIS annulla la notifica di inattività. NDIS esegue questa operazione chiamando la funzione gestore MiniportCancelIdleNotification del driver miniport.
Per altre informazioni su come NDIS annulla la notifica di inattività, vedere Annullamento della notifica di inattività selettiva NDIS.
Per altre informazioni su come il driver miniport completa la notifica di inattività, vedere Completamento della notifica di inattività selettiva NDIS.