Condividi tramite


Struttura LINEDEVCAPS (tapi.h)

La struttura LINEDEVCAPS descrive le funzionalità di un dispositivo linea. La funzione lineGetDevCaps e la funzione TSPI_lineGetDevCaps restituiscono la struttura LINEDEVCAPS .

Sintassi

typedef struct linedevcaps_tag {
  DWORD          dwTotalSize;
  DWORD          dwNeededSize;
  DWORD          dwUsedSize;
  DWORD          dwProviderInfoSize;
  DWORD          dwProviderInfoOffset;
  DWORD          dwSwitchInfoSize;
  DWORD          dwSwitchInfoOffset;
  DWORD          dwPermanentLineID;
  DWORD          dwLineNameSize;
  DWORD          dwLineNameOffset;
  DWORD          dwStringFormat;
  DWORD          dwAddressModes;
  DWORD          dwNumAddresses;
  DWORD          dwBearerModes;
  DWORD          dwMaxRate;
  DWORD          dwMediaModes;
  DWORD          dwGenerateToneModes;
  DWORD          dwGenerateToneMaxNumFreq;
  DWORD          dwGenerateDigitModes;
  DWORD          dwMonitorToneMaxNumFreq;
  DWORD          dwMonitorToneMaxNumEntries;
  DWORD          dwMonitorDigitModes;
  DWORD          dwGatherDigitsMinTimeout;
  DWORD          dwGatherDigitsMaxTimeout;
  DWORD          dwMedCtlDigitMaxListSize;
  DWORD          dwMedCtlMediaMaxListSize;
  DWORD          dwMedCtlToneMaxListSize;
  DWORD          dwMedCtlCallStateMaxListSize;
  DWORD          dwDevCapFlags;
  DWORD          dwMaxNumActiveCalls;
  DWORD          dwAnswerMode;
  DWORD          dwRingModes;
  DWORD          dwLineStates;
  DWORD          dwUUIAcceptSize;
  DWORD          dwUUIAnswerSize;
  DWORD          dwUUIMakeCallSize;
  DWORD          dwUUIDropSize;
  DWORD          dwUUISendUserUserInfoSize;
  DWORD          dwUUICallInfoSize;
  LINEDIALPARAMS MinDialParams;
  LINEDIALPARAMS MaxDialParams;
  LINEDIALPARAMS DefaultDialParams;
  DWORD          dwNumTerminals;
  DWORD          dwTerminalCapsSize;
  DWORD          dwTerminalCapsOffset;
  DWORD          dwTerminalTextEntrySize;
  DWORD          dwTerminalTextSize;
  DWORD          dwTerminalTextOffset;
  DWORD          dwDevSpecificSize;
  DWORD          dwDevSpecificOffset;
  DWORD          dwLineFeatures;
  DWORD          dwSettableDevStatus;
  DWORD          dwDeviceClassesSize;
  DWORD          dwDeviceClassesOffset;
  GUID           PermanentLineGuid;
  DWORD          dwAddressTypes;
  GUID           ProtocolGuid;
  DWORD          dwAvailableTracking;
} LINEDEVCAPS, *LPLINEDEVCAPS;

Members

dwTotalSize

Dimensioni totali allocate a questa struttura di dati, in byte.

dwNeededSize

Dimensioni necessarie per questa struttura di dati per contenere tutte le informazioni restituite, in byte.

dwUsedSize

Dimensioni della parte di questa struttura di dati che contiene informazioni utili, in byte.

dwProviderInfoSize

Dimensioni del campo con dimensioni variabili contenenti informazioni sul provider di servizi, in byte.

dwProviderInfoOffset

Offset dall'inizio della struttura alle informazioni del provider di servizi, in byte.

I membri dwProviderInfoSize e dwProviderInfoOffset sono destinati a fornire informazioni sull'hardware e/o sul software del provider, ad esempio il nome del fornitore e i numeri di versione di hardware e software. Queste informazioni possono essere utili quando un utente deve chiamare il servizio clienti con problemi relativi al provider.

dwSwitchInfoSize

Dimensioni del campo dispositivo con dimensioni variabili contenenti informazioni sul commutatore, in byte.

dwSwitchInfoOffset

Offset dall'inizio della struttura alle informazioni sull'opzione, in byte.

I membri dwSwitchInfoSize e dwSwitchInfoOffset sono destinati a fornire informazioni sul commutatore a cui è connesso il dispositivo line, ad esempio il produttore del commutatore, il nome del modello, la versione del software e così via. Queste informazioni possono essere utili quando un utente deve chiamare il servizio clienti con problemi relativi al passaggio.

dwPermanentLineID

Identificatore permanente in base al quale il dispositivo di riga è noto nella configurazione del sistema. Si tratta di un nome permanente per il dispositivo line. Questo nome permanente (anziché dwDeviceID) non cambia man mano che le righe vengono aggiunte o rimosse dal sistema e vengono mantenute tramite gli aggiornamenti del sistema operativo. Può quindi essere utilizzato per collegare informazioni specifiche della riga nei file di .ini (o altri file) in modo che non sia interessato dall'aggiunta o dalla rimozione di altre righe o modificando il sistema operativo.

dwLineNameSize

Dimensioni del campo dispositivo di dimensioni variabile contenente un nome configurabile dall'utente per questo dispositivo di riga, in byte.

dwLineNameOffset

Offset dall'inizio di questa struttura di dati al nome del dispositivo di riga. Questo nome può essere configurato dall'utente durante la configurazione del provider di servizi del dispositivo line e viene fornito per comodità dell'utente. Le dimensioni del campo sono specificate da dwLineNameSize.

dwStringFormat

Formato stringa usato con questo dispositivo di riga. Questo membro usa una delle costanti STRINGFORMAT_.

dwAddressModes

Modalità in base alla quale viene specificato l'indirizzo di origine. Questo membro usa le costanti LINEADDRESSMODE_.

dwNumAddresses

Numero di indirizzi associati a questo dispositivo di riga. I singoli indirizzi vengono indicati dagli identificatori di indirizzo. Gli identificatori di indirizzo variano da zero a uno minore del valore indicato da dwNumAddresses.

dwBearerModes

Matrice di flag che indica le diverse modalità di connessione che l'indirizzo è in grado di supportare. Questo membro utilizza una o più costanti LINEBEARERMODE_.

dwMaxRate

Frequenza massima dei dati per lo scambio di informazioni sulla chiamata, espressa in bit al secondo.

dwMediaModes

Matrice di flag che indica i diversi tipi di supporti che l'indirizzo è in grado di supportare. Questo membro utilizza una o più costanti LINEMEDIAMODE_.

dwGenerateToneModes

Toni che possono essere generati in questa riga. Questo membro utilizza una o più costanti LINETONEMODE_.

dwGenerateToneMaxNumFreq

Numero massimo di frequenze che è possibile specificare nella descrizione di un tono generale utilizzando la struttura di dati LINEGENERATETONE durante la generazione di un tono tramite lineGenerateTone. Il valore 0 indica che la generazione del tono non è disponibile.

dwGenerateDigitModes

Modalità cifre che possono essere generate in questa riga. Questo membro utilizza una o più costanti LINEDIGITMODE_.

dwMonitorToneMaxNumFreq

Numero massimo di frequenze che è possibile specificare nella descrizione di un tono generale utilizzando la struttura di dati LINEMONITORTONE durante il monitoraggio di un tono generale tramite lineMonitorTones. Il valore 0 indica che il monitoraggio del tono non è disponibile.

dwMonitorToneMaxNumEntries

Numero massimo di voci che è possibile specificare in un elenco di toni per lineMonitorTones.

dwMonitorDigitModes

Modalità cifre che possono essere rilevate in questa riga. Questo membro utilizza una o più costanti LINEDIGITMODE_.

dwGatherDigitsMinTimeout

Valore minimo che può essere specificato sia per i valori di timeout della prima cifra che per i valori di timeout tra cifre usati da lineGatherDigits, in millisecondi. Se sia dwGatherDigitsMinTimeout che dwGatherDigitsMaxTimeout sono zero, i timeout non sono supportati.

dwGatherDigitsMaxTimeout

Valore massimo che può essere specificato sia per i valori di timeout della prima cifra che per i valori di timeout tra cifre utilizzati da lineGatherDigits, in millisecondi. Se sia dwGatherDigitsMinTimeout che dwGatherDigitsMaxTimeout sono zero, i timeout non sono supportati.

dwMedCtlDigitMaxListSize

Numero massimo di voci che è possibile specificare nel parametro elenco cifre di lineSetMediaControl.

dwMedCtlMediaMaxListSize

Numero massimo di voci che è possibile specificare nel parametro dell'elenco multimediale di lineSetMediaControl.

dwMedCtlToneMaxListSize

Numero massimo di voci che è possibile specificare nel parametro dell'elenco toni di lineSetMediaControl.

dwMedCtlCallStateMaxListSize

Numero massimo di voci che è possibile specificare nel parametro dell'elenco di stati della chiamata di lineSetMediaControl.

dwDevCapFlags

Funzionalità di dispositivo booleane. Questo membro utilizza una o più costanti LINEDEVCAPFLAGS_.

dwMaxNumActiveCalls

Numero massimo di chiamate (larghezza di banda minima) che possono essere attive (connesse) sulla riga in qualsiasi momento. Il numero effettivo di chiamate attive può essere inferiore se sono state stabilite chiamate di larghezza di banda più elevate sulla riga.

dwAnswerMode

Effetto sulla chiamata attiva quando risponde a un'altra chiamata di offerta su un dispositivo line. Questo membro usa una delle costanti LINEANSWERMODE_.

dwRingModes

Numero di diverse modalità circolari che possono essere segnalate nel messaggio LINE_LINEDEVSTATE con l'indicazione dell'anello . Diverse modalità di anello variano da uno a dwRingModes. Zero indica che non esiste alcun anello.

dwLineStates

Componenti di stato riga diversi per i quali l'applicazione può ricevere una notifica in un messaggio di LINE_LINEDEVSTATE in questa riga. Questo membro utilizza una o più costanti LINEDEVSTATE_.

dwUUIAcceptSize

Dimensioni massime delle informazioni utente, incluso il terminatore Null , che possono essere inviate durante una chiamata accettata.

dwUUIAnswerSize

Dimensioni massime delle informazioni utente, incluso il carattere di terminazione Null , che possono essere inviate durante una risposta di chiamata.

dwUUIMakeCallSize

Dimensioni massime delle informazioni utente, incluso il terminatore Null , che possono essere inviate durante una chiamata.

dwUUIDropSize

Dimensioni massime delle informazioni utente, incluso il carattere di terminazione Null , che possono essere inviate durante un rilascio di chiamata.

dwUUISendUserUserInfoSize

Dimensioni massime delle informazioni utente, incluso il terminatore Null , che possono essere inviate separatamente in qualsiasi momento durante una chiamata con lineSendUserUserInfo.

dwUUICallInfoSize

Dimensioni massime delle informazioni utente, incluso il carattere di terminazione Null , che possono essere ricevute nella struttura LINECALLINFO .

MinDialParams

Valore minimo per i parametri di composizione che possono essere impostati per le chiamate in questa riga, in millisecondi. È possibile impostare i parametri di composizione sui valori nell'intervallo MinDialParams su MaxDialParams. La granularità delle impostazioni effettive è specifica del provider di servizi.

MaxDialParams

Valore massimo per i parametri di composizione che possono essere impostati per le chiamate in questa riga, in millisecondi. È possibile impostare i parametri di composizione sui valori nell'intervallo MinDialParams su MaxDialParams. La granularità delle impostazioni effettive è specifica del provider di servizi.

DefaultDialParams

Parametri di composizione predefiniti usati per le chiamate su questa riga. Questi valori di parametro possono essere sottoposti a override per ogni chiamata.

dwNumTerminals

Numero di terminali che possono essere impostati per questo dispositivo di riga, i relativi indirizzi o le relative chiamate. I singoli terminali sono indicati da ID terminale e variano da zero a uno minore del valore indicato da dwNumTerminals.

dwTerminalCapsSize

Dimensioni del campo dispositivo con dimensioni variabili contenenti una matrice con voci di tipo LINETERMCAPS, in byte.

dwTerminalCapsOffset

Offset dall'inizio di questa struttura al campo dispositivo con dimensioni variabili contenente una matrice con voci di tipo LINETERMCAPS. Questa matrice viene indicizzata in base agli ID del terminale, nell'intervallo compreso tra zero e dwNumTerminals meno uno. Ogni voce nella matrice specifica le funzionalità del dispositivo terminale del terminale corrispondente. Le dimensioni del campo sono specificate da dwTerminalCapsSize.

dwTerminalTextEntrySize

Dimensioni di ogni descrizione del testo del terminale, incluso il carattere di terminazione Null , a cui punta dwTerminalTextSize e dwTerminalTextOffset, in byte.

dwTerminalTextSize

Dimensioni del campo con dimensioni variabili contenenti testo descrittivo su ognuno dei terminali disponibili della riga, incluso il carattere di terminazione Null , in byte

dwTerminalTextOffset

Offset dall'inizio di questa struttura al testo descrittivo relativo a ognuno dei terminali disponibili della riga, in byte. Ogni messaggio è lungo byte dwTerminalTextEntrySize . Il formato stringa di queste descrizioni testuali è indicato da dwStringFormat nelle funzionalità del dispositivo della riga. Le dimensioni del campo sono specificate da dwTerminalTextSize.

dwDevSpecificSize

Dimensioni del campo specifico del dispositivo di dimensioni variabili, in byte. Se le informazioni specifiche del dispositivo sono un puntatore a una stringa, la dimensione deve includere il carattere di terminazione Null .

dwDevSpecificOffset

Offset dall'inizio di questa struttura al campo specifico del dispositivo, in byte. Le dimensioni del campo vengono specificate da dwDevSpecificSize.

dwLineFeatures

Funzionalità disponibili per questa riga usando le costanti LINEFEATURE_. Per richiamare una funzionalità supportata è necessario che la riga sia nello stato corretto e che il dispositivo linea sottostante venga aperto in modalità compatibile. Uno zero in una posizione di bit indica che la funzionalità corrispondente non è mai disponibile. Uno indica che la funzionalità corrispondente può essere disponibile se la riga è nello stato appropriato affinché l'operazione sia significativa. Questo membro consente a un'applicazione di individuare le funzionalità della riga che possono essere (e che non possono mai essere) supportate dal dispositivo.

dwSettableDevStatus

Valori LINEDEVSTATUSFLAGS che possono essere modificati usando lineSetLineDevStatus.

dwDeviceClassesSize

Dimensioni di una stringa contenente gli identificatori di classe del dispositivo supportati in uno o più indirizzi in questa riga, incluso il carattere di terminazione Null , in byte.

dwDeviceClassesOffset

Offset dall'inizio di questa struttura a una stringa contenente gli identificatori di classe del dispositivo supportati in uno o più indirizzi in byte in questa riga. Queste stringhe sono destinate all'uso con lineGetID; sono separati da NULLs e l'ultimo identificatore nell'elenco è seguito da due valori NULL. Le dimensioni del campo sono specificate da dwDeviceClassesSize.

PermanentLineGuid

GUID associato in modo permanente al dispositivo della riga.

dwAddressTypes

Tipo di indirizzo utilizzato per la chiamata. Questo membro della struttura è disponibile solo se la versione TAPI negoziata è 3.0 o successiva.

ProtocolGuid

Protocollo TAPI corrente. Questo membro della struttura è disponibile solo se la versione TAPI negoziata è 3.0 o successiva. I protocolli vengono dichiarati in tapi3.h.

dwAvailableTracking

Rilevamento disponibile, rappresentato da una costante LINECALLHUBTRACKING.constant. Questo membro della struttura è disponibile solo se la versione TAPI negoziata è 3.0 o successiva.

Commenti

Le estensioni specifiche del dispositivo devono usare l'area di dimensioni variabili DevSpecific (dwDevSpecificSize e dwDevSpecificOffset) di questa struttura di dati.

Le applicazioni meno recenti vengono compilate senza nuovi membri nella struttura LINEDEVCAPS e usano sizeOF LINEDEVCAPS inferiori alle nuove dimensioni. L'applicazione passa un parametro dwAPIVersion con la funzione lineGetDevCaps , che può essere usata per indicazioni da TAPI nella gestione di questa situazione. Se l'applicazione passa un membro dwTotalSize minore della dimensione della parte fissa della struttura, come definito nella dwAPIVersion specificata, viene restituito LINEERR_STRUCTURETOOSMALL. Se è stata allocata memoria sufficiente dall'applicazione, prima di chiamare TSPI_lineGetDevCaps, TAPI imposta i membri dwNeededSize e dwUsedSize sulle dimensioni fisse della struttura come esiste nella versione dell'API specificata.

Le nuove applicazioni devono essere riconosciute della versione dell'API negoziata e non esaminare il contenuto dei membri nella parte fissa oltre la fine originale della parte fissa della struttura per la versione dell'API negoziata.

Se il bit LINEBEARERMODE_DATA è impostato nel membro dwBearerModes , il membro dwMaxRate indica la velocità massima di trasmissione digitale sul canale di connessione. Il membro dwMaxRate della struttura LINEDEVCAPS può contenere valori validi anche se il membro dwBearerModes della struttura LINEDEVCAPS non è impostato su LINEBEARERMODE_DATA.

Se LINEBEARERMODE_DATA non è impostato in dwBearerModes, ma il valore LINEBEARERMODE_VOICE è impostato e il valore LINEMEDIAMODE_DATAMODEM viene impostato nel membro dwMediaModes , il membro dwMaxRate indica la velocità massima di bit SYNCHRONOUS (DCE) sulla linea telefonica per il modem collegato o equivalente funzionale. Ad esempio, se la velocità di modularità più veloce del modem è V.32bis a 14.400bps, dwMaxRate è uguale a 14400. Questa non è la velocità di porta DTE più veloce (che probabilmente sarebbe 38400, 57600 o 115200), ma la velocità di bit più veloce supportata dal modem sulla linea telefonica.

L'applicazione deve prestare attenzione a verificare che LINEBEARERMODE_DATA non sia impostata, per evitare l'errata interpretazione del membro dwMaxRate . È probabile che sia 64000 o superiore se è impostato LINEBEARERMODE_DATA.

Va inoltre notato che se il modem non è stato identificato in modo specifico (ad esempio, si tratta di un modem "generico"), la figura indicata è una "migliore ipotesi" in base all'esame del modem.

I membri dwSettableDevStatus tramite dwDeviceClassesOffset sono disponibili solo per le applicazioni che aprono il dispositivo line con una versione TAPI 2.0 o successiva.

Requisiti

Requisito Valore
Intestazione tapi.h

Vedi anche

LINECALLINFO

LINEGENERATETONE

LINEMONITORTONE

LINETERMCAPS

LINETRANSLATECAPS

LINE_LINEDEVSTATE

TSPI_lineGetDevCaps

lineClose

lineDial

lineGatherDigits

lineGenerateTone

lineGetDevCaps

lineGetID

lineGetTranslateCaps

lineMakeCall

lineMonitorTones

lineSendUserUserInfo

lineSetMediaControl

lineTranslateAddress

lineUncompleteCall