Partager via


fonction TSPI_lineGetID (tspi.h)

La fonction TSPI_lineGetID retourne un identificateur d’appareil pour la classe d’appareil spécifiée associée à la ligne, l’adresse ou l’appel sélectionnés.

Syntaxe

LONG TSPIAPI TSPI_lineGetID(
  HDRVLINE    hdLine,
  DWORD       dwAddressID,
  HDRVCALL    hdCall,
  DWORD       dwSelect,
  LPVARSTRING lpDeviceID,
  LPCWSTR     lpszDeviceClass,
  HANDLE      hTargetProcess
);

Paramètres

hdLine

Le handle du fournisseur de services pour la ligne à interroger.

dwAddressID

Adresse sur l’appareil de ligne ouverte donné. Un identificateur d’adresse est associé de façon 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

Le handle du fournisseur de services pour l’appel à interroger.

dwSelect

Spécifie si l’identificateur d’appareil demandé est associé à la ligne, à l’adresse ou à un seul appel. Le paramètre dwSelect ne peut avoir qu’une des constantes LINECALLSELECT_.

lpDeviceID

Pointeur vers l’emplacement de mémoire de type VARSTRING où l’identificateur d’appareil est retourné. Une fois la demande terminée, cet emplacement est rempli avec l’identificateur de l’appareil. Le format des informations retournées dépend de la méthode utilisée par la classe d’appareil (API) pour nommer les appareils.

lpszDeviceClass

Pointeur vers une chaîne Unicode terminée par null qui spécifie la classe d’appareil de l’appareil dont l’identificateur est demandé. Les chaînes de classe d’appareil valides sont celles utilisées dans la section System.ini pour identifier les classes d’appareils (telles que COM, Wave et MCI).)

hTargetProcess

Handle de processus de l’application au nom de laquelle la fonction TSPI_lineGetID est appelée. Si les informations retournées dans la structure VARSTRING incluent un handle à utiliser par l’application, le fournisseur de services doit créer ou dupliquer le handle pour le processus.

Si hTargetProcess est défini sur INVALID_HANDLE_VALUE, l’application s’exécute sur un système client distant et il n’est pas possible de créer un handle en double directement. Au lieu de cela, la structure VARSTRING doit contenir un nom UNC d’un périphérique réseau ou un autre nom que le client distant peut utiliser pour accéder à l’appareil. Si cela n’est pas possible, la fonction doit échouer.

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_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_NODEVICE, LINEERR_RESOURCEUNAVAIL.

Remarques

Le service fourni retourne LINEERR_INVALLINEHANDLE si dwSelect est LINECALLSELECT_LINE ou LINECALLSELECT_ADDRESS et que hdLine n’est pas valide.

Le fournisseur de services retourne LINEERR_INVALCALLHANDLE si dwSelect est LINECALLSELECT_CALL et que hdCall n’est pas valide.

Le fournisseur de services doit prendre en charge la classe d’appareil tapi/ligne pour permettre aux applications de déterminer l’identificateur réel d’appareil de ligne d’une ligne ouverte. Dans ce cas, les données de variable retournées sont le dwDeviceID. Pour plus d’informations sur les noms de classes d’appareils courants, consultez Classes d’appareils TSPI.

Un fournisseur qui définit un type de média spécifique à l’appareil doit également définir l’API (propriétaire) spécifique à l’appareil correspondant pour gérer les appareils du type de média. Pour éviter les collisions sur les noms de classes d’appareils attribués indépendamment par différents fournisseurs, un fournisseur doit sélectionner un nom qui identifie de manière unique le fournisseur, puis le type de média ; par exemple : « intel/video ».

Le fournisseur de services remplit tous les membres de la structure de données VARSTRING , à l’exception de dwTotalSize, qui est renseigné par TAPI. Le fournisseur de services ne doit pas remplacer le membre dwTotalSize .

Le fournisseur de services n’a pas besoin de s’occuper de la gestion des classes d’appareil tapi/ligne et tapi/téléphone, car TAPI les gère pour le fournisseur de services. Par conséquent, le code de gestion de ces classes d’appareils est facultatif.

Configuration requise

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

Voir aussi

TSPI_lineGetDevConfig

TSPI_lineSetDevConfig

VARSTRING