Partager via


TSPI_lineConditionalMediaDetection, fonction (tspi.h)

La fonction TSPI_lineConditionalMediaDetection est appelée par TAPI chaque fois qu’une application cliente utilise LINEMAPPER comme dwDeviceID dans un appel de fonction lineOpen pour demander que les lignes soient analysées pour en trouver une qui prend en charge les types de médias et les paramètres d’appel souhaités. Les analyses TAPI basées sur l’union du type de média souhaité et des autres types de médias actuellement surveillés sur la ligne, pour permettre au fournisseur de services d’indiquer s’il ne peut pas surveiller simultanément tous les types de médias demandés. Si le fournisseur de services peut surveiller l’ensemble de types de médias indiqué et prendre en charge les fonctionnalités indiquées dans lpCallParams, il répond avec une indication de réussite. Les modes de surveillance des médias actifs pour la ligne restent inchangés.

Syntaxe

LONG TSPIAPI TSPI_lineConditionalMediaDetection(
  HDRVLINE               hdLine,
  DWORD                  dwMediaModes,
  LPLINECALLPARAMS const lpCallParams
);

Paramètres

hdLine

Handle du fournisseur de services sur la ligne sur laquelle les fonctionnalités de surveillance des médias et de paramètres doivent être définies.

dwMediaModes

Le ou les types de média qui intéressent actuellement l’application appelante. Ce paramètre utilise l’une des constantes LINEMEDIAMODE_.

lpCallParams

Pointeur vers une structure de type LINECALLPARAMS. Il décrit les paramètres d’appel que l’appareil de ligne doit être en mesure de fournir. Les seuls champs pertinents de lpCallParams pour les besoins de ce test sont les suivants :

dwBearerMode

dwMinRate

dwMaxRate

dwMediaMode

dwCallParamFlags

dwAddressMode

Si dwAddressMode est LINEADDRESSMODE_ADDRESSID, toute adresse sur la ligne est acceptable. Si dwAddressMode est LINEADDRESSMODE_DIALABLEADDR, indiquant qu’une adresse d’origine spécifique (numéro de téléphone) est recherchée, ou s’il s’agit d’une extension spécifique au fournisseur, dwOrigAddressSize/Offset et la partie de la variable à laquelle ils font référence sont également pertinents. Si dwAddressMode est une extension spécifique au fournisseur, des informations supplémentaires peuvent être contenues dans le champ dwDeviceSpecific de taille variable. Tous les autres champs ne sont pas pertinents pour la fonction .

Valeur retournée

Retourne zéro si la fonction réussit ou un numéro d’erreur si une erreur se produit. Les valeurs de retour possibles sont les suivantes :

LINEERR_INVALLINEHANDLE, LINEERR_OPERATIONFAILED, LINEERR_NODRIVER, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_INVALMEDIAMODE, LINEERR_OPERATIONUNAVAIL.

Remarques

Une fonction TAPI lineOpen qui spécifie un identificateur d’appareil de LINEMAPPER entraîne généralement l’appel de cette procédure pour plusieurs appareils de ligne pour rechercher une ligne appropriée, éventuellement aussi ouvrir des lignes non encore ouvertes. Un résultat de réussite indique que la ligne est adaptée aux exigences de l’application appelante.

Note Les modes de surveillance des médias exigés au niveau TSPI sont l’union des modes de surveillance exigés par plusieurs applications au niveau tapi. Par conséquent, il est plus courant que plusieurs indicateurs de type de média soient définis simultanément à ce niveau. Le fournisseur de services doit tester pour déterminer s’il peut prendre en charge au moins l’ensemble spécifié, quels que soient les modes actuellement en vigueur. TAPI garantit que le paramètre dwMediaModes a au moins un bit défini et qu’aucun bits réservé n’est défini. Il incombe au fournisseur de services d’effectuer d’autres vérifications de validité sur les types de médias, par exemple vérifier si des types de médias sont pris en charge par le fournisseur de services.
 
La fonction TSPI_lineConditionalMediaDetection vérifie les bits définis dans le membre dwCallParamFlags de la structure LINECALLPARAMS et gère les cas suivants :

La fonction TSPI_lineConditionalMediaDetection retourne la réussite si le passage des mêmes valeurs de bits à la fonction TSPI_lineMakeCall renvoie également la réussite.

Si les bits SECURE, ORIGOFFHOOK et DESTOFFHOOK sont définis et que le paramètre dwAddressMode est LINEADDRESSMODE_ADDRESSID, la fonction retourne la réussite si elle peut réussir sur une ou plusieurs adresses sur la ligne.

Si les bits SECURE, ORIGOFFHOOK et DESTOFFHOOK sont définis et que le paramètre dwAddressMode est LINEADDRESSMODE_DIALABLEADDR, la fonction retourne la réussite si elle réussit sur l’adresse identifiée par le paramètre dwOrigAddress .

Le fournisseur de services retourne une erreur (par exemple, LINEERR_RESOURCEUNAVAIL) si, au moment de l’appel de cette fonction, il est impossible de placer un nouvel appel sur l’appareil de ligne spécifié (s’il retourne LINEERR_CALLUNAVAIL ou LINEERR_RESOURCEUNAVAIL doit TSPI_lineMakeCall être appelé immédiatement après l’ouverture de la ligne).

Il n’existe aucune fonction correspondante directe au niveau TAPI. Cette procédure correspond au test impliqué pour chaque ligne individuelle par la procédure lineOpen lorsqu’elle est appelée avec l’identificateur d’appareil LINEMAPPER.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête tspi.h

Voir aussi

LINECALLPARAMS

constantes LINEMEDIAMODE_

TSPI_lineMakeCall