Partager via


TSPI_lineSetTerminal, fonction (tspi.h)

La fonction TSPI_lineSetTerminal permet à TAPI de spécifier vers quel terminal les informations relatives à la ligne, l’adresse ou l’appel spécifiés doivent être routées. Cette opération peut être utilisée pendant que les appels sont en cours sur la ligne, pour permettre aux événements d’être routés vers différents appareils en fonction des besoins.

Syntaxe

LONG TSPIAPI TSPI_lineSetTerminal(
  DRV_REQUESTID dwRequestID,
  HDRVLINE      hdLine,
  DWORD         dwAddressID,
  HDRVCALL      hdCall,
  DWORD         dwSelect,
  DWORD         dwTerminalModes,
  DWORD         dwTerminalID,
  DWORD         bEnable
);

Paramètres

dwRequestID

Identificateur de la requête asynchrone.

hdLine

Handle d’une ligne.

dwAddressID

Adresse sur l’appareil de ligne ouverte donné. Un identificateur d’adresse est associé de manière permanente à une adresse ; l’identificateur reste constant entre les mises à niveau du système d’exploitation. TAPI ne valide pas ce paramètre lorsque cette fonction est appelée.

hdCall

Handle à un appel. L’état d’appel peut être n’importe quel état (si dwSelect est LINECALLSELECT_CALL).

dwSelect

Spécifie si le paramètre de terminal est demandé pour la ligne, l’adresse ou simplement l’appel spécifié. Si la ligne ou l’adresse est spécifiée, les événements s’appliquent à la ligne ou à l’adresse elle-même ou servent de paramètre initial par défaut pour tous les nouveaux appels sur la ligne ou l’adresse. Ce paramètre utilise l’une des constantes LINECALLSELECT_.

dwTerminalModes

Classe(s) des événements de bas niveau à acheminer vers le terminal donné. Utilisez l’une des constantes LINETERMMODE_ pour ce paramètre.

dwTerminalID

Identificateur de l’appareil terminal où les événements donnés doivent être routés. Les identificateurs de terminal sont de petits entiers dans la plage comprise entre 0 et dwNumTerminals moins un, où dwNumTerminals et les modes terminal que chaque terminal est capable de gérer sont indiqués par le fournisseur de services dans LINEDEVCAPS.

Note Ces identificateurs de terminal n’ont aucune relation avec d’autres identificateurs d’appareil et sont définis par le fournisseur de services via les fonctionnalités de l’appareil. TAPI ne valide pas ce paramètre lorsque cette fonction est appelée.
 

bEnable

Si la valeur est TRUE, dwTerminalID est valide et les classes d’événements spécifiées sont routées vers ou depuis ce terminal. Si la valeur est FALSE, ces événements ne sont pas routés vers ou depuis le dwTerminalID. TAPI ne valide pas ce paramètre lorsque cette fonction est appelée.

Valeur retournée

Retourne dwRequestID, ou un numéro d’erreur si une erreur se produit. Le paramètre réel lResult de la ASYNC_COMPLETION correspondante est égal à 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_INVALTERMINALID, LINEERR_INVALADDRESSID, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_NOMEM, LINEERR_INVALCALLSELECT, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALTERMINALMODE, LINEERR_OPERATIONFAILED.

Remarques

Le fournisseur de services retourne LINEERR_RESOURCEUNAVAIL si l’opération ne peut pas être effectuée en raison d’un dépassement des ressources ou si trop de terminaux sont définis, en raison de limitations matérielles ou de limitations du fournisseur de services/pilote de périphérique.

TAPI peut utiliser cette opération pour acheminer certaines classes d’événements de ligne de bas niveau vers l’appareil terminal spécifié, ou pour supprimer complètement le routage de ces événements. Par exemple, la voix peut être acheminée vers un appareil d’E/S audio distinct (casque), les lampes et les événements d’affichage peuvent être acheminés vers l’appareil téléphonique local, et les événements de bouton et les événements de sonnerie peuvent être complètement supprimés.

Les tonalités de progression des appels et/ou les messages sont routés vers le même emplacement que le média. Par exemple, si les signaux audio sont envoyés au téléphone, les signaux occupés (analogiques) ou les messages Q.931 indiquent occupé (numérique).

Le fournisseur de services doit déterminer si les combinaisons de dwSelect et dwTerminalModes sont légales.

Cette opération peut être appelée à tout moment, même lorsqu’un appel est actif sur l’appareil de ligne donné. Cela, par exemple, permet à un utilisateur de passer de l’utilisation du téléphone local défini à un autre appareil d’E/S audio.

Cette fonction peut être appelée plusieurs fois pour acheminer simultanément les mêmes événements vers plusieurs terminaux. Pour rediriger les événements vers un autre terminal, TAPI recommande que l’application désactive d’abord le routage vers le terminal existant, puis route les événements vers le nouveau terminal. Toutefois, le fournisseur de services doit faire tout son possible pour prendre en charge les demandes de l’application dans n’importe quel ordre.

Les attributions d’identificateur de terminal sont effectuées par le fournisseur de services, et LINEDEVCAPS indique les identificateurs de terminal disponibles par le fournisseur de services. Les fournisseurs de services qui ne prennent pas en charge ce type de routage d’événements indiquent qu’ils n’ont pas de terminal (dwNumTerminals dans LINEDEVCAPS est défini sur zéro).

LineSetTerminal sur une ligne ou une adresse affecte tous les appels existants sur cette ligne ou adresse, mais n’affecte pas les appels sur d’autres adresses. Il définit également la valeur par défaut pour les appels futurs sur cette ligne ou cette adresse. Une ligne ou une adresse avec plusieurs appels connectés actifs à tout moment peut avoir un routage différent en vigueur pour chaque appel.

La désactivation du routage des événements de bas niveau vers un terminal lorsque ces événements ne sont pas routés vers ou depuis ce terminal n’est pas nécessaire pour générer une erreur tant qu’une fois la fonction réussie, les événements spécifiés ne sont pas routés vers ou depuis ce terminal.

Configuration requise

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

Voir aussi

ASYNC_COMPLETION

constantes LINECALLSELECT_

constantes LINETERMMODE_