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 |