Condividi tramite


Collegamento a un adattatore

NDIS chiama la funzione ProtocolBindAdapterEx di un driver di protocollo per aprire un'associazione ogni volta che diventa disponibile un adattatore sottostante a cui il driver può eseguire l'associazione. Dopo che NDIS chiama ProtocolBindAdapterEx, l'associazione entra nello stato di apertura. Nello stato Avvio, il driver di protocollo alloca le risorse per l'associazione e apre l'adattatore.

NDIS passa a ProtocolBindAdapterEx il contesto NDIS per l'operazione di associazione, oltre a un puntatore a una struttura NDIS_BIND_PARAMETERS. Questa struttura contiene informazioni sull'adattatore, ad esempio:

  • Nome dell'adapter.

  • Percorso del Registro di sistema per i parametri specifici di questa associazione nella voce del servizio protocollo nel Registro di sistema.

  • Oggetto fisico del dispositivo per l'adattatore.

Per aprire un adattatore, i driver di protocollo chiamano la funzioneNdisOpenAdapterEx. Il driver del protocollo passa quanto segue a NdisOpenAdapterEx:

  • L'handle che NDIS ha restituito al driver al parametro NdisProtocolHandle della funzione NdisRegisterProtocolDriver.

  • Contesto del driver di protocollo per questa associazione.

  • Un puntatore a una struttura di tipo NDIS_OPEN_PARAMETERS.

NDIS_OPEN_PARAMETERS contiene informazioni quali il nome dell'adattatore che NdisOpenAdapterEx deve aprire, un array di tipi di mezzi supportati dal driver del protocollo e, facoltativamente, un array di tipi di frame che il driver può ricevere in questo binding.

Se un driver di protocollo restituisce NDIS_STATUS_PENDING da ProtocolBindAdapterEx, deve chiamare NdisCompleteBindAdapterEx con lo stato finale per completare la richiesta di associazione.

Se NDIS restituisce NDIS_STATUS_PENDING da NdisOpenAdapterEx, NDIS chiama successivamente la funzione protocol driver ProtocolOpenAdapterCompleteEx con lo stato finale dopo il completamento della richiesta aperta.

Dopo che il driver apre correttamente l'associazione all'adattatore, l'associazione si trova nello stato Sospeso.

Un driver di protocollo chiama la funzioneNdisCloseAdapterExper chiudere l'adattatore. Il driver può chiamare NdisCloseAdapterEx dalla funzione ProtocolBindAdapterEx o ProtocolUnbindAdapterEx.

Se dopo aver aperto l'adapter e prima di completare la richiesta di associazione, ProtocolBindAdapterEx rileva un errore e deve chiudere l'associazione all'adapter, può chiamare NdisCloseAdapterEx. Per altre informazioni sulla chiusura di un adattatore, vedere Scollegamento da un adattatore.