Condividi tramite


Registrare e aprire una famiglia di indirizzi

Un gestore chiamate deve registrare una famiglia di indirizzi per ogni scheda di interfaccia di rete in cui fornisce servizi di gestione chiamate ai client orientati alla connessione. Analogamente, un driver MCM deve registrare una famiglia di indirizzi per la scheda di interfaccia di rete gestita.

Registrando una famiglia di indirizzi, un gestore chiamate o un driver MCM fa in modo che NDIS annunci i servizi del gestore chiamate o del driver MCM a tutti i client orientati alla connessione associati all'adattatore.

Se un client orientato alla connessione può usare i servizi annunciati da un gestore chiamate o da un driver MCM, può aprire una famiglia di indirizzi con il gestore chiamate o il driver MCM.

Registrazione di una famiglia di indirizzi da un gestore delle chiamate

Dopo che la funzione ProtocolBindAdapterEx viene associata a un driver miniport sottostante con NdisOpenAdapterEx, un gestore di chiamate chiama NdisCmRegisterAddressFamilyEx per registrare una famiglia di indirizzi per l'associazione (vedere la figura seguente).

Diagramma che illustra il processo di registrazione e apertura di una famiglia di indirizzi con un gestore delle chiamate.

La chiamata a NdisCmRegisterAddressFamilyEx annuncia le funzioni di segnalazione specifiche del gestore di chiamate. Un gestore chiamate deve registrare una famiglia di indirizzi ogni volta che la funzione ProtocolBindAdapterEx viene chiamata e si associa correttamente a una scheda di interfaccia di rete con NdisOpenAdapterEx.

Il gestore chiamate può supportare più di una famiglia di indirizzi in tutti i driver miniport a cui è associato. Il gestore chiamate può anche supportare più di una famiglia di indirizzi in una singola scheda di interfaccia di rete a cui è associato. Il gestore chiamate deve registrare gli stessi punti di ingresso per ogni famiglia di indirizzi nella connessione. Un solo gestore chiamate può supportare un particolare tipo di famiglia di indirizzi per i client associati a qualsiasi driver miniport particolare. Per altre informazioni sulla registrazione dei punti di ingresso per un gestore di chiamate, vedere Registrazione CoNDIS.

Registrazione di una famiglia di indirizzi da un driver MCM

Un driver MCM chiama la funzione NdisMCmRegisterAddressFamilyEx dalla sua funzione MiniportInitializeEx dopo aver registrato i punti di ingresso del driver miniport con NdisMRegisterMiniportDriver. Per ulteriori informazioni sulla registrazione dei punti di ingresso, consultare Registrazione CoNDIS. Un driver MCM chiama NdisMCmRegisterAddressFamilyEx una volta per annunciare i servizi ai client orientati alla connessione (vedere la figura seguente).

Diagramma che illustra il processo di registrazione e apertura di una famiglia di indirizzi con un driver MCM.

Un driver miniport di una scheda di rete con supporto incorporato per segnalazione orientata alla connessione può registrarsi come driver MCM anche quando un gestore chiamate è disponibile. In questo modo, tale driver MCM prende il posto del gestore chiamate come gestore chiamate per quella scheda di rete.

Apertura di una famiglia di indirizzi

La chiamata del gestore chiamate o del driver MCM a Ndis(M)CmRegisterAddressFamily determina che NDIS chiami la funzione ProtocolCoAfRegisterNotify di ciascun client orientato alla connessione sul binding (come illustrato in due figure precedenti).

ProtocolCoAfRegisterNotify esamina i dati della famiglia di indirizzi per determinare se il client può usare i servizi di questo specifico driver CM o MCM. Se il client può apportare modifiche ai dati della famiglia di indirizzi forniti dal (M)CM dipende dal particolare supporto del protocollo di segnalazione del gestore chiamate o del driver MCM.

Se il client trova accettabili i servizi di gestione delle chiamate offerti, ProtocolCoAfRegisterNotify alloca un'area di contesto per AF per il client e chiama NdisClOpenAddressFamilyEx. NdisClOpenAddressFamilyEx non registra i punti di ingresso orientati alla connessione del client con NDIS. Per altre informazioni sulla registrazione di punti di ingresso orientati alla connessione con NDIS, vedere Registrazione CoNDIS.

La chiamata a NdisClOpenAddressFamilyEx fa sì che NDIS chiami la funzione ProtocolCmOpenAf del gestore chiamate o del driver MCM (come illustrato già nelle due figure precedenti). ProtocolCmOpenAf assicura che il client abbia passato una famiglia di indirizzi valida e alloca e inizializza le risorse necessarie per eseguire operazioni per conto del client che apre questa istanza della famiglia di indirizzi. ProtocolCmOpenAf archivia anche un NdisAfHandle che rappresenta l'associazione tra il gestore chiamate e il client per la famiglia di indirizzi aperta.

ProtocolCmOpenAf può essere completato in modo sincrono o asincrono. Per completare in modo asincrono, la funzione ProtocolCmOpenAf di un gestore chiamate chiama NdisCmOpenAddressFamilyComplete; la funzione ProtocolCmOpenAf di di un driver MCM chiama NdisMCmOpenAddressFamilyComplete. La chiamata a Ndis(M)CmOpenAddressFamilyComplete causa che NDIS chiami la funzione ProtocolOpenAfComplete del client che originariamente ha chiamato NdisClOpenAddressFamilyEx.

Se la chiamata del client a NdisClOpenAddressFamilyEx ha esito positivo, NDIS restituisce al client un NdisAfHandle che rappresenta l'associazione tra il gestore chiamate e il client per la famiglia di indirizzi aperta.

Se un client accetta chiamate in ingresso, in genere registra uno o più SAP dal relativo ProtocolClOpenAfCompleteEx funzione chiamando NdisClRegisterSap dopo la chiamata riuscita a NdisClOpenAddressFamilyEx.

Se un client effettua chiamate in uscita, potrebbe creare uno o più VCS nel relativo ProtocolClOpenAfCompleteEx funzione in previsione di una richiesta da parte di uno o più client per effettuare una chiamata in uscita.