Inizializzazione TAPI coNDIS
In questa sezione viene illustrato come un driver miniport WAN CoNDIS enumera le funzionalità TAPI per le applicazioni. Queste funzionalità TAPI sono costituite da:
Il numero di dispositivi line-port supportati dal driver miniport include, ad esempio, un modem, una scheda fax e una scheda ISDN.
Le informazioni relative a linee specifiche includono, ad esempio, un identificatore di riga e il numero di indirizzi di canale (numeri di telefono) supportati dalla riga per la trasmissione simultanea di dati e voce.
Le informazioni relative a indirizzi di canale specifici su righe di informazioni sugli indirizzi dei dispositivi includono, ad esempio, l'identità di un chiamante (ID chiamante) e il numero di chiamate attive possibili.
Per recuperare informazioni sull'hardware sottostante, NDPROXY genera richieste per le funzionalità line-address e channel-address. Vale a dire, il driver NDPROXY esegue una query sulle funzionalità TAPI di un driver miniport WAN CoNDIS. Il driver NDPROXY chiama la funzione NdisCoOidRequest per eseguire query sulle funzionalità TAPI del driver miniport. In questa chiamata, NDPROXY passa una struttura NDIS_OID_REQUEST. NDPROXY specifica quanto segue in NDIS_OID_REQUEST:
Valore NdisRequestQueryInformation nel membro RequestType
Identificatore di oggetto (OID) che specifica la funzionalità TAPI da recuperare dal driver miniport nel membro OID
Buffer per contenere le informazioni sulla funzionalità TAPI restituite nel membro InformationBuffer
Tutte le query inviate a un driver miniport WAN CoNDIS dal driver NDPROXY possono essere completate in modo sincrono o asincrono. Se un driver miniport WAN CoNDIS determina che non può completare immediatamente la query, può semplicemente restituire NDIS_STATUS_PENDING e chiamare la funzione NdisMCmOidRequestComplete dall'interno della funzione ProtocolCoOidRequest al termine della query.
Dopo un miniport della rete WAN CoNDIS notifica a NDPROXY la registrazione di una nuova famiglia di indirizzi, come specificato nella registrazione TAPIS CoNDIS, NDPROXY esegue query sugli OID seguenti per determinare le funzionalità specifiche di TAPI del driver WAN CoNDIS e della scheda di interfaccia di rete del driver miniport.
NDPROXY esegue una query sul driver miniport con OID_CO_TAPI_CM_CAPS per determinare il numero di righe supportate dal dispositivo del driver miniport (il dispositivo per cui fornisce servizi TAPI). Questo OID richiede anche al driver miniport di indicare se queste righe hanno funzionalità di linea diverse.
NDPROXY esegue successivamente query sul driver miniport con OID_CO_TAPI_LINE_CAPS per determinare le funzionalità di telefonia per la riga specificata. Questo OID richiede anche al driver miniport di indicare se gli indirizzi in questa riga hanno funzionalità di indirizzi diversi.
- Se la query precedente di OID_CO_TAPI_CM_CAPS indica che il dispositivo del driver miniport supporta solo una riga o se il dispositivo supporta più righe con le stesse funzionalità di riga, NDPROXY deve eseguire query OID_CO_TAPI_LINE_CAPS una sola volta per ottenere le funzionalità della linea del dispositivo. In questo caso, le funzionalità della linea restituite dal driver miniport si applicano a tutte le linee del dispositivo.
- Se il dispositivo supporta più righe con funzionalità di riga diverse, NDPROXY deve eseguire una query OID_CO_TAPI_LINE_CAPS una volta per ogni riga per ottenere le funzionalità di riga di ogni riga.
Infine, NDPROXY esegue una query sul driver miniport con OID_CO_TAPI_ADDRESS_CAPS per determinare le funzionalità di telefonia per un indirizzo specificato in una riga specificata.
- Se la query precedente di OID_CO_TAPI_LINE_CAPS indica che la riga supporta solo un indirizzo o che tutti gli indirizzi della riga hanno le stesse funzionalità di indirizzo, le query NDPROXY OID_CO_TAPI_ADDRESS_CAPS una sola volta per determinare le funzionalità di tutti gli indirizzi nella riga.
- Se una riga supporta più indirizzi con funzionalità diverse, le query NDPROXY OID_CO_TAPI_ADDRESS_CAPS una volta per ogni indirizzo nella riga.
Il driver NDPROXY usa le informazioni ottenute con gli ID di enumerazione TAPI per eseguire le operazioni seguenti:
Creare parametri TAPI per le chiamate TAPI successive.
Determinare se accettare o rifiutare le chiamate TAPI successive in ingresso.
Registrare uno o più punti di accesso al servizio TAPI (SAP) in cui ricevere chiamate TAPI successive.