Condividi tramite


Sospendere un adattatore

NDIS chiama la funzione MiniportPause di un driver miniport per avviare un'operazione di pausa. L'adattatore rimane nello stato Sospensione fino al completamento dell'operazione di sospensione.

Nello stato di pausa, il driver miniport deve completare le operazioni di ricezione in sospeso. Il driver deve anche completare tutte le operazioni di invio in sospeso e deve rifiutare eventuali nuove richieste di invio.

Per completare le operazioni di ricezione, il driver attende il ritorno di tutte le chiamate alla funzione NdisMIndicateReceiveNetBufferLists e NDIS deve restituire tutte le strutture NET_BUFFER_LIST in sospeso alla funzione MiniportReturnNetBufferLists del driver miniport.

Per completare le operazioni di invio che sono ancora in sospeso, il driver miniport deve chiamare la funzione NdisMSendNetBufferListsComplete per tutte le strutture NET_BUFFER_LIST in sospeso. Il driver deve rifiutare immediatamente tutte le nuove richieste di invio effettuate alla sua funzione MiniportSendNetBufferLists .

Dopo che un driver miniport completa tutte le operazioni di invio e ricezione in sospeso, il driver deve completare la richiesta di pausa in modo sincrono o asincrono. Se l'operazione di pausa viene completata in modo asincrono, il driver chiama NdisMPauseComplete per completare la richiesta di sospensione. Dopo aver completato la richiesta di sospensione, il driver miniport si trova nello stato Sospeso.

NDIS non avvia altre operazioni Plug and Play, ad esempio arresta, inizializza, cambia alimentazione o riavvia le operazioni, mentre il driver miniport è nello stato di sospensione. NDIS può avviare queste operazioni di Plug and Play dopo che un driver miniport è nello stato Sospeso.