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.
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 |