STRUCTURE LINEDEVCAPS (tapi.h)

La structure LINEDEVCAPS décrit les fonctionnalités d’un appareil de ligne. La fonction lineGetDevCaps et la fonction TSPI_lineGetDevCaps retournent la structure LINEDEVCAPS .

Syntaxe

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;

Membres

dwTotalSize

Taille totale allouée à cette structure de données, en octets.

dwNeededSize

Taille nécessaire pour que cette structure de données contienne toutes les informations retournées, en octets.

dwUsedSize

Taille de la partie de cette structure de données qui contient des informations utiles, en octets.

dwProviderInfoSize

Taille du champ de taille variable contenant les informations du fournisseur de services, en octets.

dwProviderInfoOffset

Décalage entre le début de la structure et les informations du fournisseur de services, en octets.

Les membres dwProviderInfoSize et dwProviderInfoOffset sont destinés à fournir des informations sur le matériel et/ou le logiciel du fournisseur, comme le nom du fournisseur et les numéros de version du matériel et des logiciels. Ces informations peuvent être utiles lorsqu’un utilisateur a besoin d’appeler le service clientèle avec des problèmes concernant le fournisseur.

dwSwitchInfoSize

Taille du champ d’appareil de taille variable contenant des informations de commutateur, en octets.

dwSwitchInfoOffset

Décalage du début de la structure vers les informations de commutateur, en octets.

Les membres dwSwitchInfoSize et dwSwitchInfoOffset sont destinés à fournir des informations sur le commutateur auquel le périphérique de ligne est connecté, comme le fabricant du commutateur, le nom du modèle, la version du logiciel, etc. Ces informations peuvent être utiles lorsqu’un utilisateur doit appeler le service clientèle avec des problèmes liés au commutateur.

dwPermanentLineID

Identificateur permanent par lequel l’appareil de ligne est connu dans la configuration du système. Il s’agit d’un nom permanent pour l’appareil de ligne. Ce nom permanent (par opposition à dwDeviceID) ne change pas à mesure que les lignes sont ajoutées ou supprimées du système et persiste lors des mises à niveau du système d’exploitation. Il peut donc être utilisé pour lier des informations spécifiques aux lignes dans des fichiers .ini (ou d’autres fichiers) d’une manière qui n’est pas affectée par l’ajout ou la suppression d’autres lignes ou par la modification du système d’exploitation.

dwLineNameSize

Taille du champ d’appareil de taille variable contenant un nom configurable par l’utilisateur pour cet appareil de ligne, en octets.

dwLineNameOffset

Décalage entre le début de cette structure de données et le nom de cet appareil de ligne. Ce nom peut être configuré par l’utilisateur lors de la configuration du fournisseur de services de l’appareil de ligne et est fourni pour la commodité de l’utilisateur. La taille du champ est spécifiée par dwLineNameSize.

dwStringFormat

Format de chaîne utilisé avec cet appareil de ligne. Ce membre utilise l’une des constantes STRINGFORMAT_.

dwAddressModes

Mode par lequel l’adresse d’origine est spécifiée. Ce membre utilise les constantes LINEADDRESSMODE_.

dwNumAddresses

Nombre d’adresses associées à cet appareil de ligne. Les adresses individuelles sont référencées par des identificateurs d’adresse. Les identificateurs d’adresse vont de zéro à un inférieur à la valeur indiquée par dwNumAddresses.

dwBearerModes

Tableau d’indicateurs qui indique les différents modes de porteur que l’adresse est en mesure de prendre en charge. Ce membre utilise une ou plusieurs constantes LINEBEARERMODE_.

dwMaxRate

Débit de données maximal pour l’échange d’informations sur l’appel, en bits par seconde.

dwMediaModes

Tableau d’indicateurs qui indique les différents types de média que l’adresse est en mesure de prendre en charge. Ce membre utilise une ou plusieurs constantes LINEMEDIAMODE_.

dwGenerateToneModes

Tonalités pouvant être générées sur cette ligne. Ce membre utilise une ou plusieurs constantes LINETONEMODE_.

dwGenerateToneMaxNumFreq

Nombre maximal de fréquences pouvant être spécifiées dans la description d’une tonalité générale à l’aide de la structure de données LINEGENERATETONE lors de la génération d’une tonalité à l’aide de lineGenerateTone. La valeur 0 indique que la génération de tonalité n’est pas disponible.

dwGenerateDigitModes

Les modes numériques que peuvent être générés sur cette ligne. Ce membre utilise une ou plusieurs constantes LINEDIGITMODE_.

dwMonitorToneMaxNumFreq

Nombre maximal de fréquences pouvant être spécifiées dans la description d’une tonalité générale à l’aide de la structure de données LINEMONITORTONE lors de la surveillance d’une tonalité générale à l’aide de lineMonitorTones. La valeur 0 indique que le moniteur de tonalité n’est pas disponible.

dwMonitorToneMaxNumEntries

Nombre maximal d’entrées pouvant être spécifiées dans une liste de tonalités pour lineMonitorTones.

dwMonitorDigitModes

Les modes numériques que peuvent être détectés sur cette ligne. Ce membre utilise une ou plusieurs constantes LINEDIGITMODE_.

dwGatherDigitsMinTimeout

Valeur minimale qui peut être spécifiée pour les valeurs de délai d’expiration du premier chiffre et d’entre deux chiffres utilisées par lineGatherDigits, en millisecondes. Si dwGatherDigitsMinTimeout et dwGatherDigitsMaxTimeout sont tous deux nuls, les délais d’expiration ne sont pas pris en charge.

dwGatherDigitsMaxTimeout

Valeur maximale pouvant être spécifiée pour les valeurs de délai d’expiration du premier chiffre et d’entre deux chiffres utilisées par lineGatherDigits, en millisecondes. Si dwGatherDigitsMinTimeout et dwGatherDigitsMaxTimeout sont tous deux nuls, les délais d’expiration ne sont pas pris en charge.

dwMedCtlDigitMaxListSize

Nombre maximal d’entrées pouvant être spécifiées dans le paramètre de liste de chiffres de lineSetMediaControl.

dwMedCtlMediaMaxListSize

Nombre maximal d’entrées pouvant être spécifiées dans le paramètre media list de lineSetMediaControl.

dwMedCtlToneMaxListSize

Nombre maximal d’entrées pouvant être spécifiées dans le paramètre de liste de tonalités de lineSetMediaControl.

dwMedCtlCallStateMaxListSize

Nombre maximal d’entrées pouvant être spécifiées dans le paramètre de liste d’état d’appel de lineSetMediaControl.

dwDevCapFlags

Fonctionnalités d’appareil booléen. Ce membre utilise une ou plusieurs constantes LINEDEVCAPFLAGS_.

dwMaxNumActiveCalls

Nombre maximal d’appels (bande passante minimale) qui peuvent être actifs (connectés) sur la ligne à tout moment. Le nombre réel d’appels actifs peut être inférieur si des appels à bande passante plus élevée ont été établis sur la ligne.

dwAnswerMode

Effet sur l’appel actif lors de la réponse à un autre appel d’offre sur un appareil de ligne. Ce membre utilise l’une des constantes LINEANSWERMODE_.

dwRingModes

Nombre de modes d’anneau différents pouvant être signalés dans le message LINE_LINEDEVSTATE avec l’indication de sonnerie . Les différents modes d’anneau vont de un à dwRingModes. Zéro indique qu’il n’y a pas d’anneau.

dwLineStates

Différentes lignes status composants pour lesquels l’application peut être avertie dans un message LINE_LINEDEVSTATE sur cette ligne. Ce membre utilise une ou plusieurs constantes LINEDEVSTATE_.

dwUUIAcceptSize

Taille maximale des informations utilisateur-utilisateur, y compris la marque de fin Null , qui peuvent être envoyées lors d’une acceptation d’appel.

dwUUIAnswerSize

Taille maximale des informations utilisateur-utilisateur, y compris la marque de fin Null , qui peuvent être envoyées pendant une réponse d’appel.

dwUUIMakeCallSize

Taille maximale des informations utilisateur-utilisateur, y compris la marque de fin Null , qui peuvent être envoyées pendant un appel.

dwUUIDropSize

Taille maximale des informations utilisateur-utilisateur, y compris la marque de fin Null , qui peuvent être envoyées lors d’une suppression d’appel.

dwUUISendUserUserInfoSize

Taille maximale des informations utilisateur-utilisateur, y compris la marque de fin Null , qui peuvent être envoyées séparément à tout moment pendant un appel avec lineSendUserUserInfo.

dwUUICallInfoSize

Taille maximale des informations utilisateur-utilisateur, y compris la marque de fin Null , qui peuvent être reçues dans la structure LINECALLINFO .

MinDialParams

Valeur minimale pour les paramètres de numérotation qui peuvent être définis pour les appels sur cette ligne, en millisecondes. Les paramètres de numérotation peuvent être définis sur des valeurs comprises entre MinDialParams et MaxDialParams. La granularité des paramètres réels est propre au fournisseur de services.

MaxDialParams

Valeur maximale pour les paramètres de numérotation qui peuvent être définis pour les appels sur cette ligne, en millisecondes. Les paramètres de numérotation peuvent être définis sur des valeurs comprises entre MinDialParams et MaxDialParams. La granularité des paramètres réels est propre au fournisseur de services.

DefaultDialParams

Paramètres de numérotation par défaut utilisés pour les appels sur cette ligne. Ces valeurs de paramètre peuvent être remplacées par appel.

dwNumTerminals

Nombre de terminaux qui peuvent être définis pour cet appareil de ligne, ses adresses ou ses appels. Les terminaux individuels sont référencés par des ID de terminal et varient de zéro à un de moins que la valeur indiquée par dwNumTerminals.

dwTerminalCapsSize

Taille du champ d’appareil de taille variable contenant un tableau avec des entrées de type LINETERMCAPS, en octets.

dwTerminalCapsOffset

Décalage du début de cette structure vers le champ d’appareil de taille variable contenant un tableau avec des entrées de type LINETERMCAPS. Ce tableau est indexé par id de terminal, dans la plage de zéro à dwNumTerminals moins un. Chaque entrée du tableau spécifie les fonctionnalités du terminal correspondant. La taille du champ est spécifiée par dwTerminalCapsSize.

dwTerminalTextEntrySize

Taille de chacune des descriptions de texte terminal, y compris la marque de fin Null , pointée par dwTerminalTextSize et dwTerminalTextOffset, en octets.

dwTerminalTextSize

Taille du champ de taille variable contenant du texte descriptif sur chacun des terminaux disponibles de la ligne, y compris la marque de fin Null , en octets

dwTerminalTextOffset

Décalage du début de cette structure vers le texte descriptif de chacun des terminaux disponibles de la ligne, en octets. Chaque message a une longueur dwTerminalTextEntrySize octets. Le format de chaîne de ces descriptions textuelles est indiqué par dwStringFormat dans les fonctionnalités de l’appareil de la ligne. La taille du champ est spécifiée par dwTerminalTextSize.

dwDevSpecificSize

Taille du champ spécifique à l’appareil de taille variable, en octets. Si les informations spécifiques à l’appareil sont un pointeur vers une chaîne, la taille doit inclure la marque de fin Null .

dwDevSpecificOffset

Décalage du début de cette structure vers le champ spécifique à l’appareil, en octets. La taille du champ est spécifiée par dwDevSpecificSize.

dwLineFeatures

Fonctionnalités disponibles pour cette ligne à l’aide des constantes LINEFEATURE_. L’appel d’une fonctionnalité prise en charge nécessite que la ligne soit dans le bon état et que l’appareil de ligne sous-jacent soit ouvert en mode compatible. Un zéro dans une position de bit indique que la fonctionnalité correspondante n’est jamais disponible. Un indique que la fonctionnalité correspondante peut être disponible si la ligne est dans l’état approprié pour que l’opération soit significative. Ce membre permet à une application de découvrir quelles fonctionnalités de ligne peuvent être (et qui ne peuvent jamais être) prises en charge par l’appareil.

dwSettableDevStatus

VALEURS LINEDEVSTATUSFLAGS qui peuvent être modifiées à l’aide de lineSetLineDevStatus.

dwDeviceClassesSize

Taille d’une chaîne contenant les identificateurs de classe d’appareil pris en charge sur une ou plusieurs adresses sur cette ligne, y compris le terminateur Null , en octets.

dwDeviceClassesOffset

Décalage entre le début de cette structure et une chaîne contenant les identificateurs de classe d’appareil pris en charge sur une ou plusieurs adresses de cette ligne, en octets. Ces chaînes sont destinées à être utilisées avec lineGetID ; ils sont séparés par des valeurs NULLet le dernier identificateur de la liste est suivi de deux valeurs NULL. La taille du champ est spécifiée par dwDeviceClassesSize.

PermanentLineGuid

GUID associé de façon permanente à l’appareil de ligne.

dwAddressTypes

Type d’adresse utilisé pour l’appel. Ce membre de la structure n’est disponible que si la version TAPI négociée est 3.0 ou ultérieure.

ProtocolGuid

Protocole TAPI actuel. Ce membre de la structure n’est disponible que si la version TAPI négociée est 3.0 ou ultérieure. Les protocoles sont déclarés dans tapi3.h.

dwAvailableTracking

Suivi disponible, tel que représenté par un LINECALLHUBTRACKING.constant. Ce membre de la structure n’est disponible que si la version TAPI négociée est 3.0 ou ultérieure.

Remarques

Les extensions spécifiques à l’appareil doivent utiliser la zone DevSpecific (dwDevSpecificSize et dwDevSpecificOffset) de taille variable de cette structure de données.

Les applications plus anciennes sont compilées sans nouveaux membres dans la structure LINEDEVCAPS et à l’aide d’une TAILLE DE LINEDEVCAPS inférieure à la nouvelle taille. L’application transmet un paramètre dwAPIVersion avec la fonction lineGetDevCaps , qui peut être utilisée à des fins d’aide par TAPI dans la gestion de cette situation. Si l’application transmet un membre dwTotalSize inférieur à la taille de la partie fixe de la structure telle que définie dans le dwAPIVersion spécifié, LINEERR_STRUCTURETOOSMALL est retourné. Si suffisamment de mémoire a été allouée par l’application, avant d’appeler TSPI_lineGetDevCaps, TAPI définit les membres dwNeedededSize et dwUsedSize sur la taille fixe de la structure telle qu’elle existait dans la version d’API spécifiée.

Les nouvelles applications doivent être conscientes de la version de l’API négociée et ne pas examiner le contenu des membres dans la partie fixe au-delà de la fin d’origine de la partie fixe de la structure pour la version de l’API négociée.

Si le bit LINEBEARERMODE_DATA est défini dans le membre dwBearerModes , le membre dwMaxRate indique le taux maximal de transmission numérique sur le canal du porteur. Le membre dwMaxRate de la structure LINEDEVCAPS peut contenir des valeurs valides même si le membre dwBearerModes de la structure LINEDEVCAPS n’est pas défini sur LINEBEARERMODE_DATA.

Si LINEBEARERMODE_DATA n’est pas défini dans dwBearerModes, mais que la valeur LINEBEARERMODE_VOICE est définie et que la valeur LINEMEDIAMODE_DATAMODEM est définie dans le membre dwMediaModes , le membre dwMaxRate indique le débit de bits maximum SYNCHRONOUS (DCE) sur la ligne téléphonique pour le modem attaché ou l’équivalent fonctionnel. Par exemple, si la vitesse de modulation la plus rapide du modem est V.32bis à 14 400 b/s, dwMaxRate est égal à 14400. Il ne s’agit pas du débit de port DTE le plus rapide (qui serait probablement 38400, 57600 ou 115200), mais du débit le plus rapide pris en charge par le modem sur la ligne téléphonique.

L’application doit veiller à case activée pour voir que LINEBEARERMODE_DATA n’est pas défini, afin d’éviter une interprétation erronée du membre dwMaxRate. Il est probable qu’il soit supérieur ou égal à 64 000 si LINEBEARERMODE_DATA est défini.

Il convient également de noter que si le modem n’a pas été spécifiquement identifié (par exemple, il s’agit d’un modem « générique »), le chiffre indiqué est une « meilleure estimation » basée sur l’examen du modem.

Les membres dwSettableDevStatus via dwDeviceClassesOffset sont disponibles uniquement pour les applications qui ouvrent l’appareil de ligne avec une version TAPI 2.0 ou ultérieure.

Configuration requise

Condition requise Valeur
En-tête tapi.h

Voir aussi

LINECALLINFO

LINEGENERATETONE

LINEMONITORTONE

LINETERMCAPS

LINETRANSLATECAPS

LINE_LINEDEVSTATE

TSPI_lineGetDevCaps

lineClose

lineDial

lineGatherDigits

lineGenerateTone

lineGetDevCaps

lineGetID

lineGetTranslateCaps

lineMakeCall

lineMonitorTones

lineSendUserUserInfo

lineSetMediaControl

lineTranslateAddress

lineUncompleteCall