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 |