Condividi tramite


Avvio di uno stack di driver

Dopo aver rilevato un dispositivo di rete, il sistema avvia uno stack di driver NDIS per il dispositivo. Il dispositivo può essere un dispositivo virtuale o un dispositivo fisico. In entrambi i casi, un'operazione di avvio dello stack di driver procede come segue:

  1. Il sistema carica e inizializza i driver se non sono già caricati.

    Non carica i driver in alcun ordine specifico.

  2. Il sistema chiama la funzione DriverEntry di ogni driver.

    Dopo che DriverEntry restituisce:

    • L'adattatore miniport per il dispositivo si trova nello stato Arrestato.
    • I moduli di filtro si trovano nello stato Scollegato.
    • L'associazione del protocollo si trova nello stato Unbound.
  3. Il sistema richiede NDIS per avviare l'adattatore miniport.

    Per inizializzare l'adattatore miniport, NDIS chiama la funzione MiniportInitializeEx del driver miniport . Se MiniportInitializeEx ha esito positivo, l'adattatore miniport entra nello stato Sospeso.

  4. NDIS collega i moduli di filtro, a partire dal modulo più vicino al driver miniport e passando alla parte superiore dello stack di driver.

    Per richiedere al driver di collegare un modulo di filtro allo stack di driver, NDIS chiama la funzione FilterAttach del driver di filtro. Se ogni operazione di collegamento ha esito positivo, il modulo filtro immette lo stato Sospeso.

  5. Dopo che tutti i driver sottostanti si trovano nello stato Sospeso, NDIS chiama la funzione ProtocolBindAdapterEx del driver del protocollo.

    L'associazione del driver del protocollo immette quindi lo stato apertura. Il driver del protocollo chiama la funzione NdisOpenAdapterEx per aprire l'associazione con l'adattatore miniport.

  6. NDIS alloca le risorse necessarie per l'associazione e chiama la funzione ProtocolOpenAdapterCompleteEx del driver del protocollo.

    L'associazione entra nello stato Sospeso.

  7. Per completare l'operazione di associazione, il driver del protocollo chiama la funzione NdisCompleteBindAdapterEx .

  8. NDIS riavvia lo stack di driver. Per altre informazioni sul riavvio dello stack di driver, vedere Riavvio di uno stack di driver.