Partager via


fonction TSPI_lineGenerateDigits (tspi.h)

La fonction TSPI_lineGenerateDigits lance la génération des chiffres spécifiés sur l’appel spécifié en tant que tonalités in-band à l’aide du mode de signalisation spécifié. L’appel de cette fonction alors que la génération de chiffres ou de tonalités est en cours annule la génération de chiffres ou de tonalités actuelle. Le passage d’une valeur NULL pour lpsDigits ne génère aucun nouveau chiffre.

Note Une seule demande de génération in-band à la fois (génération de tonalité ou génération de chiffres) peut être en cours par appel.
 

Syntaxe

LONG TSPIAPI TSPI_lineGenerateDigits(
  HDRVCALL hdCall,
  DWORD    dwEndToEndID,
  DWORD    dwDigitMode,
  LPCWSTR  lpszDigits,
  DWORD    dwDuration
);

Paramètres

hdCall

Handle de l’appel sur lequel la génération de chiffres doit être effectuée.

dwEndToEndID

Cet identificateur de demande unique doit être stocké par le fournisseur de services et passé en tant que dwParam2 à la procédure LINEEVENT une fois la génération de chiffres terminée.

dwDigitMode

Format à utiliser pour signaler ces chiffres. Ce paramètre utilise une seule des constantes LINEDIGITMODE_.

lpszDigits

Pointeur vers une mémoire tampon de caractères Unicode terminée par null qui contient les chiffres à générer. Une virgule injecte un délai supplémentaire entre la signalisation des chiffres précédents et suivants qu’elle sépare. La durée de cette pause est définie par la configuration. Les fonctionnalités de l’appareil de la ligne indiquent quelle est cette durée. Plusieurs virgules peuvent être utilisées pour injecter des pauses plus longues. Les chiffres non valides sont ignorés pendant la génération, au lieu d’être signalés comme une erreur.

dwDuration

Spécifie à la fois la durée en millisecondes des chiffres DTMF et l’espacement entre deux chiffres DTMF. La valeur 0 utilise une valeur par défaut. Le paramètre dwDuration doit se trouver dans la plage spécifiée par MinDialParams à MaxDialParams dans LINEDEVCAPS. Si elle n’est pas comprise, la valeur réelle est définie par le fournisseur de services sur la valeur la plus proche de la plage. Ce paramètre n’est pas validé par TAPI lorsque cette fonction est appelée.

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_INVALCALLHANDLE, LINEERR_NOMEM, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALDIGITMODE, LINEERR_OPERATIONFAILED, LINEERR_RESOURCEUNAVAIL, LINEERR_RESOURCEUNAVAIL.

Remarques

L’état de l’appel de hdCall peut être n’importe quel état.

La fonction TSPI_lineGenerateDigits est considérée comme ayant réussi lorsque la génération de chiffres a démarré avec succès ; pas lorsque tous les chiffres sont générés.

Une fois tous les chiffres dans lpsDigits générés ou une fois la génération de chiffres abandonnée ou annulée, un message LINE_GENERATE est envoyé à TAPI.

Note Une seule demande de génération inband (génération de tonalité ou génération de chiffres) est autorisée à être en cours par appel. Cela implique que si la génération de chiffres est actuellement en cours lors d’un appel, l’appel de TSPI_lineGenerateDigits ou TSPI_lineGenerateTone annule la génération de chiffres. Le fournisseur de services doit mettre fin à toute génération de chiffres en cours lorsqu’un TSPI_lineGenerateDigits ou TSPI_lineGenerateTone ultérieur est appelé. L’appel de TSPI_lineGenerateDigits avec lpszDigits défini sur NULL annule toute génération actuelle de chiffres (ou de tonalités).
 
La fonction correspondante au niveau TAPI n’inclut pas le paramètre formel dwEndToEndID. À ce niveau, il n’y a pas de marquage de bout en bout. TAPI utilise le marquage de bout en bout au niveau TSPI pour lever l’ambiguïté d’une demande TSPI_lineGenerateDigits d’une autre.

Configuration requise

   
Plateforme cible Windows
En-tête tspi.h

Voir aussi

LINEDEVCAPS

constantes LINEDIGITMODE_

LINEEVENT

LINE_GENERATE

TSPI_lineGenerateTone