Registrazione di funzioni del gestore di sospensione selettiva di NDIS

Se un driver miniport supporta la sospensione selettiva NDIS, NDIS notifica al driver che la scheda di rete sottostante è diventata inattiva. Il driver miniport deve fornire le funzioni seguenti per gestire queste notifiche inattive:

MiniportIdleNotification
NDIS chiama la funzione del gestore MiniportIdleNotification per notificare al driver miniport che la scheda di rete è diventata inattiva. Il driver miniport gestisce la notifica inattiva determinando se la scheda di rete può passare a uno stato di bassa potenza. Il conducente miniport esegue questa determinazione in modo specifico del bus.

Ad esempio, un driver miniport USB determina se la scheda di rete può passare a uno stato di bassa potenza emettendo un pacchetto di richiesta di I/O per una richiesta di inattività USB (IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION) al driver del bus USB sottostante. Tramite l'elaborazione di questo IRP, il driver miniport riceve una notifica che l'adattatore è inattivo e può essere passato a uno stato a bassa potenza.

MiniportCancelIdleNotification
NDIS chiama la funzione del gestore MiniportCancelIdleNotification per annullare la notifica inattiva in sospeso. Quando questa funzione viene chiamata, il driver miniport annulla eventuali IR specifici del bus che potrebbero essere stati rilasciati in precedenza per la notifica inattiva.

Ad esempio, quando viene chiamato MiniportCancelIdleNotification, il miniport USB deve annullare la richiesta di inattività USB precedentemente rilasciata. Quando l'IRP viene annullato, il driver miniport riceve una notifica che l'adattatore può ora essere passato a uno stato di alimentazione completa.

Quando viene chiamata la funzione DriverEntry del driver miniport, il driver registra le funzioni del gestore di sospensione selettiva NDIS seguendo questa procedura:

  1. Il driver miniport deve impostare il membro SetOptionsHandler della struttura NDIS_MINIPORT_DRIVER_CHARACTERISTICS al punto di ingresso per la funzione MiniportSetOptions del driver. Il driver chiama NdisMRegisterMiniportDriver per registrarne la struttura NDIS_MINIPORT_DRIVER_CHARACTERISTICS con NDIS.

  2. NDIS chiama la funzione MiniportSetOptions nel contesto della chiamata a NdisMRegisterMiniportDriver.

    Quando viene chiamato MiniportSetOptions , il driver miniport inizializza una struttura NDIS_MINIPORT_SS_CHARACTERISTICS con puntatori alle funzioni del gestore. Il driver miniport chiama quindi NdisSetOptionalHandlers e imposta il parametro OptionalHandlers su un puntatore alla struttura NDIS_MINIPORT_SS_CHARACTERISTICS .

Per altre informazioni su come gestire le notifiche inattive per la sospensione selettiva di NDIS, vedere Notifiche di sospensione selettiva NDIS.