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

Weitere Informationen

LINECALLINFO

LINEGENERATETONE

LINEMONITORTONE

LINETERMCAPS

LINETRANSLATECAPS

LINE_LINEDEVSTATE

TSPI_lineGetDevCaps

lineClose

lineDial

lineGatherDigits

lineGenerateTone

lineGetDevCaps

lineGetID

lineGetTranslateCaps

lineMakeCall

lineMonitorTones

lineSendUserUserInfo

lineSetMediaControl

lineTranslateAddress

lineUncompleteCall