Condividi tramite


Reimpostazione hardware del driver Miniport

Un driver miniport deve registrare una funzione MiniportResetEx con NdisMRegisterMiniportDriver.

MiniportResetEx può essere completato in modo sincrono o asincrono con una chiamata a NdisMResetComplete(vedere la figura seguente).

Diagramma che illustra il processo di reimpostazione di una scheda di interfaccia di rete.

MiniportResetEx deve:

  • Disabilitare ulteriori interruzioni.

  • Cancellare i dati associati a eventuali invii in corso. Ad esempio, in un buffer circolare per un dispositivo DMA (Bus-Master Direct Memory Access), i puntatori per l'invio dei buffer devono essere cancellati. I driver miniport deserializzati e orientati alla connessione devono restituire NDIS_STATUS_REQUEST_ABORTED per qualsiasi richiesta di invio in coda.

  • Ripristinare lo stato hardware e lo stato interno del driver miniport allo stato esistente prima dell'operazione di reimpostazione.

Il driver miniport è responsabile del ripristino dello stato hardware del dispositivo, ad eccezione di indirizzi multicast, filtri di pacchetti, impostazioni di offload delle attività e modelli di riattivazione. Queste impostazioni vengono ripristinate dal driver miniport o NDIS. Il driver miniport determina chi è responsabile del ripristino di queste impostazioni restituendo un valore booleano nel parametro AddressingReset .

Se il driver miniport restituisce FALSE nel parametro AddressingReset , il driver miniport ripristina gli indirizzi multicast, i filtri dei pacchetti, le impostazioni di offload delle attività e i modelli di riattivazione allo stato iniziale. Se il driver miniport restituisce TRUE in AddressingReset, NDIS chiama la funzione MiniportOidRequest di un driver miniport senza connessione o una funzione MiniportCoOidRequest orientata alla connessione per impostare le impostazioni di configurazione seguenti:

Stati dell'adattatore di un driver Miniport

Stati e operazioni dell'adattatore Miniport

Funzioni di ripristino e interruzione del driver Miniport