LINEDEVCAPS-Struktur (tapi.h)
Die LINEDEVCAPS-Struktur beschreibt die Funktionen eines Leitungsgeräts. Die lineGetDevCaps-Funktion und die TSPI_lineGetDevCaps-Funktion geben die LINEDEVCAPS-Struktur zurück.
Syntax
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;
Member
dwTotalSize
Dieser Datenstruktur zugeordnete Gesamtgröße in Byte.
dwNeededSize
Die Größe, die für diese Datenstruktur erforderlich ist, um alle zurückgegebenen Informationen in Bytes zu enthalten.
dwUsedSize
Größe des Teils dieser Datenstruktur, der nützliche Informationen in Byte enthält.
dwProviderInfoSize
Größe des Felds mit unterschiedlicher Größe, das Dienstanbieterinformationen in Byte enthält.
dwProviderInfoOffset
Offset vom Anfang der Struktur bis zu den Dienstanbieterinformationen in Bytes.
Die Mitglieder dwProviderInfoSize und dwProviderInfoOffset sollen Informationen zur Anbieterhardware und/oder -software bereitstellen, z. B. den Herstellernamen und die Versionsnummern von Hardware und Software. Diese Informationen können nützlich sein, wenn ein Benutzer den Kundendienst mit Problemen in Bezug auf den Anbieter anrufen muss.
dwSwitchInfoSize
Größe des gerätevariablen Felds, das Switchinformationen in Byte enthält.
dwSwitchInfoOffset
Offset vom Anfang der Struktur bis zu den Switchinformationen in Bytes.
Die Member dwSwitchInfoSize und dwSwitchInfoOffset sollen Informationen über den Switch bereitstellen, mit dem das Leitungsgerät verbunden ist, z. B. den Switchhersteller, den Modellnamen, die Softwareversion usw. Diese Informationen können nützlich sein, wenn ein Benutzer den Kundendienst mit Problemen im Zusammenhang mit dem Wechsel anrufen muss.
dwPermanentLineID
Permanenter Bezeichner, mit dem das Leitungsgerät in der Systemkonfiguration bekannt ist. Es handelt sich um einen dauerhaften Namen für das Leitungsgerät. Dieser permanente Name (im Gegensatz zu dwDeviceID) ändert sich nicht, wenn Zeilen hinzugefügt oder aus dem System entfernt werden, und er wird über Betriebssystemupgrades beibehalten. Es kann daher verwendet werden, um zeilenspezifische Informationen in .ini Dateien (oder anderen Dateien) auf eine Weise zu verknüpfen, die nicht durch Hinzufügen oder Entfernen anderer Zeilen oder durch Ändern des Betriebssystems beeinträchtigt wird.
dwLineNameSize
Größe des gerätevariablen Felds mit einem vom Benutzer konfigurierbaren Namen für dieses Zeilengerät in Byte.
dwLineNameOffset
Offset vom Anfang dieser Datenstruktur zum Namen für dieses Leitungsgerät. Dieser Name kann vom Benutzer beim Konfigurieren des Dienstanbieters des Leitungsgeräts konfiguriert werden und wird zur Benutzerfreundlichkeit bereitgestellt. Die Größe des Felds wird durch dwLineNameSize angegeben.
dwStringFormat
Zeichenfolgenformat, das mit diesem Zeilengerät verwendet wird. Dieser Member verwendet eine der STRINGFORMAT_ Konstanten.
dwAddressModes
Modus, in dem die Ursprungsadresse angegeben wird. Dieser Member verwendet die LINEADDRESSMODE_ Konstanten.
dwNumAddresses
Anzahl der Adressen, die diesem Leitungsgerät zugeordnet sind. Auf einzelne Adressen werden durch Adressbezeichner verwiesen. Adressbezeichner reichen von null bis eins kleiner als der durch dwNumAddresses angegebene Wert.
dwBearerModes
Flagarray, das die verschiedenen Bearermodi angibt, die die Adresse unterstützen kann. Dieser Member verwendet eine oder mehrere der LINEBEARERMODE_ Konstanten.
dwMaxRate
Maximale Datenrate für den Informationsaustausch über den Anruf in Bits pro Sekunde.
dwMediaModes
Flagarray, das die verschiedenen Medientypen angibt, die die Adresse unterstützen kann. Dieser Member verwendet eine oder mehrere der LINEMEDIAMODE_ Konstanten.
dwGenerateToneModes
Töne, die in dieser Zeile generiert werden können. Dieser Member verwendet eine oder mehrere der LINETONEMODE_ Konstanten.
dwGenerateToneMaxNumFreq
Maximale Anzahl von Frequenzen, die bei der Beschreibung eines allgemeinen Tons mithilfe der LINEGENERATETONE-Datenstruktur angegeben werden können, wenn ein Ton mithilfe von lineGenerateTone generiert wird. Der Wert 0 gibt an, dass die Tongenerierung nicht verfügbar ist.
dwGenerateDigitModes
Ziffernmodi als können in dieser Zeile generiert werden. Dieser Member verwendet eine oder mehrere der LINEDIGITMODE_ Konstanten.
dwMonitorToneMaxNumFreq
Maximale Anzahl von Frequenzen, die bei der Beschreibung eines allgemeinen Tones mithilfe der LINEMONITORTONE-Datenstruktur angegeben werden können, wenn ein allgemeiner Ton mithilfe von lineMonitorTones überwacht wird. Der Wert 0 gibt an, dass der Tonmonitor nicht verfügbar ist.
dwMonitorToneMaxNumEntries
Maximale Anzahl von Einträgen, die in einer Tonliste in lineMonitorTones angegeben werden können.
dwMonitorDigitModes
Ziffernmodi als können in dieser Zeile erkannt werden. Dieser Member verwendet eine oder mehrere der LINEDIGITMODE_ Konstanten.
dwGatherDigitsMinTimeout
Minimaler Wert, der sowohl für die ersten als auch für die von lineGatherDigits verwendeten Inter-Digit-Timeoutwerte in Millisekunden angegeben werden kann. Wenn sowohl dwGatherDigitsMinTimeout als auch dwGatherDigitsMaxTimeout null sind, werden Timeouts nicht unterstützt.
dwGatherDigitsMaxTimeout
Maximaler Wert, der sowohl für die von lineGatherDigits verwendeten Timeoutwerte der ersten Ziffer als auch für interzifferale Timeoutwerte in Millisekunden angegeben werden kann. Wenn sowohl dwGatherDigitsMinTimeout als auch dwGatherDigitsMaxTimeout null sind, werden Timeouts nicht unterstützt.
dwMedCtlDigitMaxListSize
Maximale Anzahl von Einträgen, die im Ziffernlistenparameter von lineSetMediaControl angegeben werden können.
dwMedCtlMediaMaxListSize
Maximale Anzahl von Einträgen, die im Medienlistenparameter von lineSetMediaControl angegeben werden können.
dwMedCtlToneMaxListSize
Maximale Anzahl von Einträgen, die im Tone list-Parameter von lineSetMediaControl angegeben werden können.
dwMedCtlCallStateMaxListSize
Maximale Anzahl von Einträgen, die im Aufrufzustandslistenparameter von lineSetMediaControl angegeben werden können.
dwDevCapFlags
Boolesche Gerätefunktionen. Dieser Member verwendet eine oder mehrere der LINEDEVCAPFLAGS_ Konstanten.
dwMaxNumActiveCalls
Maximale Anzahl von Anrufen (mindester Bandbreite), die gleichzeitig aktiv (verbunden) in der Leitung sein können. Die tatsächliche Anzahl aktiver Anrufe kann niedriger sein, wenn in der Leitung Anrufe mit höherer Bandbreite eingerichtet wurden.
dwAnswerMode
Auswirkung auf den aktiven Anruf beim Annehmen eines anderen Angebotsanrufs auf einem Leitungsgerät. Dieser Member verwendet eine der LINEANSWERMODE_ Konstanten.
dwRingModes
Anzahl der verschiedenen Ringmodi, die in der LINE_LINEDEVSTATE Nachricht mit der Klingelungsanzeige gemeldet werden können. Verschiedene Ringmodi reichen von 1 bis dwRingModes. Null gibt keinen Ring an.
dwLineStates
Verschiedene Zeilen status Komponenten, für die die Anwendung möglicherweise in einer LINE_LINEDEVSTATE Nachricht in dieser Zeile benachrichtigt wird. Dieser Member verwendet eine oder mehrere der LINEDEVSTATE_ Konstanten.
dwUUIAcceptSize
Maximale Größe der Benutzer-/Benutzerinformationen, einschließlich des NULL-Abschlusszeichens , die während einer Anrufannahme gesendet werden können.
dwUUIAnswerSize
Maximale Größe der Benutzer-Benutzer-Informationen, einschließlich des NULL-Abschlusszeichens , die während einer Anrufantwort gesendet werden können.
dwUUIMakeCallSize
Maximale Größe der Benutzer-/Benutzerinformationen, einschließlich des NULL-Abschlusszeichens , die während eines Tätigens eines Anrufs gesendet werden können.
dwUUIDropSize
Maximale Größe der Benutzer-Benutzer-Informationen, einschließlich des NULL-Abschlusszeichens , die während eines Anrufabbruchs gesendet werden können.
dwUUISendUserUserInfoSize
Maximale Größe von Benutzer-Benutzer-Informationen, einschließlich des NULL-Abschlusszeichens, die während eines Anrufs mit lineSendUserUserInfo separat gesendet werden können.
dwUUICallInfoSize
Maximale Größe der Benutzer-Benutzer-Informationen, einschließlich des NULL-Abschlusszeichens , die in der LINECALLINFO-Struktur empfangen werden können.
MinDialParams
Mindestwert für die Wählparameter, die für Anrufe in dieser Zeile in Millisekunden festgelegt werden können. Wählparameter können auf Werte im Bereich MinDialParams bis MaxDialParams festgelegt werden. Die Granularität der tatsächlichen Einstellungen ist dienstanbieterspezifisch.
MaxDialParams
Maximaler Wert für die Wählparameter, die für Anrufe in dieser Zeile in Millisekunden festgelegt werden können. Wählparameter können auf Werte im Bereich MinDialParams bis MaxDialParams festgelegt werden. Die Granularität der tatsächlichen Einstellungen ist dienstanbieterspezifisch.
DefaultDialParams
Standardwählparameter, die für Anrufe in dieser Zeile verwendet werden. Diese Parameterwerte können pro Aufruf überschrieben werden.
dwNumTerminals
Anzahl der Terminals, die für dieses Leitungsgerät, seine Adressen oder Seine Anrufe festgelegt werden können. Auf einzelne Terminals werden durch Terminal-IDs verwiesen und liegen zwischen null und eins unter dem wert, der durch dwNumTerminals angegeben wird.
dwTerminalCapsSize
Größe des gerätevariablen Felds, das ein Array mit Einträgen vom Typ LINETERMCAPS in Bytes enthält.
dwTerminalCapsOffset
Offset vom Anfang dieser Struktur zum variabel dimensionierten Gerätefeld, das ein Array mit Einträgen vom Typ LINETERMCAPS enthält. Dieses Array wird nach Terminal-IDs im Bereich von null bis dwNumTerminals minus 1 indiziert. Jeder Eintrag im Array gibt die Terminalgerätefunktionen des entsprechenden Terminals an. Die Größe des Felds wird von dwTerminalCapsSize angegeben.
dwTerminalTextEntrySize
Größe der einzelnen Terminaltextbeschreibungen, einschließlich des NULL-Abschlusszeichens , auf die von dwTerminalTextSize und dwTerminalTextOffset in Bytes verwiesen wird.
dwTerminalTextSize
Größe des Felds mit unterschiedlicher Größe, das beschreibenden Text über die einzelnen verfügbaren Terminals der Zeile enthält, einschließlich des NULL-Abschlusszeichens , in Byte
dwTerminalTextOffset
Offset vom Anfang dieser Struktur bis zum beschreibenden Text über die einzelnen verfügbaren Terminals der Zeile in Byte. Jede Nachricht ist dwTerminalTextEntrySize-Bytes lang. Das Zeichenfolgenformat dieser Textbeschreibungen wird durch dwStringFormat in den Gerätefunktionen der Zeile angegeben. Die Größe des Felds wird von dwTerminalTextSize angegeben.
dwDevSpecificSize
Größe des gerätespezifischen Felds variabel in Byte. Wenn die gerätespezifischen Informationen ein Zeiger auf eine Zeichenfolge sind, muss die Größe den NULL-Abschlusszeichen enthalten.
dwDevSpecificOffset
Offset vom Anfang dieser Struktur zum gerätespezifischen Feld in Bytes. Die Größe des Felds wird von dwDevSpecificSize angegeben.
dwLineFeatures
Für diese Zeile verfügbare Features mit den LINEFEATURE_ Konstanten. Um ein unterstütztes Feature aufzurufen, muss sich die Leitung im richtigen Zustand befinden, und das zugrunde liegende Leitungsgerät muss in einem kompatiblen Modus geöffnet werden. Eine Null in einer Bitposition gibt an, dass das entsprechende Feature nie verfügbar ist. Eine gibt an, dass das entsprechende Feature möglicherweise verfügbar ist, wenn sich die Zeile im geeigneten Zustand befindet, damit der Vorgang sinnvoll ist. Mit diesem Member kann eine Anwendung ermitteln, welche Zeilenfeatures vom Gerät unterstützt werden können (und welche niemals unterstützt werden können).
dwSettableDevStatus
LINEDEVSTATUSFLAGS-Werte , die mit lineSetLineDevStatus geändert werden können.
dwDeviceClassesSize
Größe einer Zeichenfolge mit den Geräteklassenbezeichnern, die für eine oder mehrere Adressen in dieser Zeile unterstützt werden, einschließlich des NULL-Abschlusszeichens , in Bytes.
dwDeviceClassesOffset
Offset vom Anfang dieser Struktur zu einer Zeichenfolge, die die Geräteklassenbezeichner enthält, die für eine oder mehrere Adressen in dieser Zeile in Byte unterstützt werden. Diese Zeichenfolgen sind für die Verwendung mit lineGetID vorgesehen. sie werden durch NULLs getrennt, und auf den letzten Bezeichner in der Liste folgen zwei NULL-Werte. Die Größe des Felds wird von dwDeviceClassesSize angegeben.
PermanentLineGuid
GUID, die dem Leitungsgerät dauerhaft zugeordnet ist.
dwAddressTypes
Der für den Anruf verwendete Adresstyp. Dieses Element der -Struktur ist nur verfügbar, wenn die ausgehandelte TAPI-Version 3.0 oder höher ist.
ProtocolGuid
Aktuelles TAPI-Protokoll. Dieses Element der -Struktur ist nur verfügbar, wenn die ausgehandelte TAPI-Version 3.0 oder höher ist. Die Protokolle werden in tapi3.h deklariert.
dwAvailableTracking
Verfügbare Nachverfolgung, wie durch eine LINECALLHUBTRACKING.constant dargestellt. Dieses Element der -Struktur ist nur verfügbar, wenn die ausgehandelte TAPI-Version 3.0 oder höher ist.
Hinweise
Gerätespezifische Erweiterungen sollten den DevSpecific-Bereich (dwDevSpecificSize und dwDevSpecificOffset) mit unterschiedlicher Größe dieser Datenstruktur verwenden.
Ältere Anwendungen werden ohne neue Member in der LINEDEVCAPS-Struktur kompiliert und verwenden eine SIZEOF LINEDEVCAPS-Größe, die kleiner als die neue Größe ist. Die Anwendung übergibt einen dwAPIVersion-Parameter mit der lineGetDevCaps-Funktion , die als Anleitung durch TAPI bei der Behandlung dieser Situation verwendet werden kann. Wenn die Anwendung einen dwTotalSize-Member übergibt, der kleiner als die Größe des festen Teils der Struktur ist, wie in der angegebenen dwAPIVersion definiert, wird LINEERR_STRUCTURETOOSMALL zurückgegeben. Wenn von der Anwendung ausreichend Arbeitsspeicher zugewiesen wurde, legt TAPI vor dem Aufrufen von TSPI_lineGetDevCaps die Elemente dwNeededSize und dwUsedSize auf die feste Größe der Struktur fest, wie sie in der angegebenen API-Version vorhanden war.
Neue Anwendungen müssen die ausgehandelte API-Version kennen und dürfen den Inhalt von Membern im festen Teil nicht über das ursprüngliche Ende des festen Teils der Struktur für die ausgehandelte API-Version hinaus untersuchen.
Wenn das LINEBEARERMODE_DATA Bit im dwBearerModes-Element festgelegt ist, gibt das dwMaxRate-Element die maximale Rate der digitalen Übertragung im Bearerkanal an. Das dwMaxRate-Element der LINEDEVCAPS-Struktur kann gültige Werte enthalten, auch wenn der dwBearerModes-Member der LINEDEVCAPS-Struktur nicht auf LINEBEARERMODE_DATA festgelegt ist.
Wenn LINEBEARERMODE_DATA in dwBearerModes nicht festgelegt ist, aber der LINEBEARERMODE_VOICE Wert festgelegt ist und der LINEMEDIAMODE_DATAMODEM-Wert im dwMediaModes-Element festgelegt ist, gibt der dwMaxRate-Member die maximale SYNCHRON-Bitrate (DCE) in der Telefonleitung für das angefügte Modem oder die funktionale Entsprechung an. Wenn die schnellste Modulationsgeschwindigkeit des Modems beispielsweise V.32bis bei 14.400 bps ist, entspricht dwMaxRate 14400. Dies ist nicht die schnellste DTE-Portrate (die höchstwahrscheinlich 38400, 57600 oder 115200 wäre), aber die schnellste Bitrate, die das Modem in der Telefonleitung unterstützt.
Die Anwendung muss sorgfältig überprüfen, ob LINEBEARERMODE_DATA nicht festgelegt ist, um zu vermeiden, dass das dwMaxRate-Element falsch interpretiert wird. Es ist wahrscheinlich 64000 oder höher, wenn LINEBEARERMODE_DATA festgelegt ist.
Es sollte auch darauf hingewiesen werden, dass, wenn das Modem nicht speziell identifiziert wurde (z. B. ein "generisches" Modem), die angegebene Abbildung eine "beste Schätzung" ist, die auf der Untersuchung des Modems basiert.
Die Member dwSettableDevStatus bis dwDeviceClassesOffset sind nur für Anwendungen verfügbar, die das Leitungsgerät mit einer TAPI-Version von 2.0 oder höher öffnen.
Anforderungen
Anforderung | Wert |
---|---|
Header | tapi.h |