lineGetRequestA, fonction (tapi.h)

La fonction lineGetRequest récupère la requête suivante par proxy pour le mode de requête spécifié.

Syntaxe

LONG lineGetRequestA(
  HLINEAPP hLineApp,
  DWORD    dwRequestMode,
  LPVOID   lpRequestBuffer
);

Paramètres

hLineApp

Handle d’utilisation de l’application pour la partie ligne de TAPI.

dwRequestMode

Type de demande à obtenir. N’oubliez pas que dwRequestMode ne peut avoir qu’un seul bit défini. Ce paramètre utilise une et une seule des constantes LINEREQUESTMODE_.

lpRequestBuffer

Pointeur vers une mémoire tampon où les paramètres de la requête doivent être placés. La taille de la mémoire tampon et l’interprétation des données placées dans la mémoire tampon dépendent du mode de requête. La mémoire tampon allouée par l’application est supposée être de taille suffisante pour contenir la requête.

Si dwRequestMode est LINEREQUESTMODE_MAKECALL, interprétez le contenu de la mémoire tampon de requête à l’aide de la structure LINEREQMAKECALL .

LINEREQUESTMODE_MEDIACALL est obsolète. Pour plus d’informations, consultez tapiRequestMediaCall.

Valeur de retour

Retourne zéro si la requête réussit ou si un numéro d’erreur négatif se produit. Les valeurs de retour possibles sont les suivantes :

LINEERR_INVALAPPHANDLE, LINEERR_NOTREGISTERED, LINEERR_INVALPOINTER, LINEERR_OPERATIONFAILED, LINEERR_INVALREQUESTMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED, LINEERR_NOREQUEST.

Remarques

Une application prenant en charge la téléphonie peut demander qu’un appel soit placé pour son compte en appelant tapiRequestMakeCall. Ces demandes sont mises en file d’attente par TAPI et l’application de priorité la plus élevée inscrite pour gérer la demande est envoyée un message LINE_REQUEST avec indication du mode de la requête en attente. En règle générale, cette application est l’application de contrôle d’appel de l’utilisateur. Le message LINE_REQUEST indique que zéro ou plusieurs demandes peuvent être en attente de traitement de l’application inscrite ; après avoir reçu LINE_REQUEST, il incombe à l’application de destinataire d’appeler lineGetRequest jusqu’à ce que LINEERR_NOREQUEST soit retourné, indiquant qu’aucune demande supplémentaire n’est en attente.

Ensuite, l’application de contrôle d’appel qui reçoit ce message appelle lineGetRequest, en spécifiant le mode de requête et une mémoire tampon suffisamment grande pour contenir la requête. L’application de contrôle d’appel interprète et exécute la requête.

Après l’exécution de lineGetRequest, TAPI purge la requête de sa file d’attente interne, rendant la salle disponible pour une requête ultérieure. Il est donc possible qu’un nouveau message de LINE_REQUEST soit reçu immédiatement lors de l’exécution de lineGetRequest, si la même application émet une autre demande. Il incombe à l’application destinataire de la demande de gérer ce scénario par un mécanisme ; par exemple, en notant les LINE_REQUEST supplémentaires et en reportant une lineGetRequest ultérieure jusqu’à ce que le traitement de la demande précédente se termine, en obtenant la requête et la mémoire tampon suivantes si nécessaire, ou par un autre moyen approprié.

La LINE_REQUEST suivante ne doit pas être ignorée, car elle n’est pas répétée par TAPI.

Note

L’en-tête tapi.h définit lineGetRequest comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
plateforme cible Windows
d’en-tête tapi.h
bibliothèque Tapi32.lib
DLL Tapi32.dll

Voir aussi

Informations de référence sur les services de téléphonie de base

LINEREQMAKECALL

LINE_REQUEST

vue d’ensemble des informations de référence sur TAPI 2.2

tapiRequestMakeCall