función TSPI_lineGetID (tspi.h)
La función TSPI_lineGetID devuelve un identificador de dispositivo para la clase de dispositivo especificada asociada a la línea, dirección o llamada seleccionada.
Sintaxis
LONG TSPIAPI TSPI_lineGetID(
HDRVLINE hdLine,
DWORD dwAddressID,
HDRVCALL hdCall,
DWORD dwSelect,
LPVARSTRING lpDeviceID,
LPCWSTR lpszDeviceClass,
HANDLE hTargetProcess
);
Parámetros
hdLine
Identificador del proveedor de servicios de la línea que se va a consultar.
dwAddressID
Una dirección en el dispositivo de línea abierta especificado. Un identificador de dirección está asociado permanentemente a una dirección; el identificador permanece constante en las actualizaciones del sistema operativo. TAPI no valida este parámetro cuando se llama a esta función.
hdCall
Identificador del proveedor de servicios para la llamada que se va a consultar.
dwSelect
Especifica si el identificador de dispositivo solicitado está asociado a la línea, la dirección o una sola llamada. El parámetro dwSelect solo puede tener una de las constantes LINECALLSELECT_.
lpDeviceID
Puntero a la ubicación de memoria del tipo VARSTRING donde se devuelve el identificador del dispositivo. Una vez completada correctamente la solicitud, esta ubicación se rellena con el identificador del dispositivo. El formato de la información devuelta depende del método utilizado por la clase de dispositivo (API) para asignar nombres a los dispositivos.
lpszDeviceClass
Puntero a una cadena Unicode terminada en null que especifica la clase de dispositivo del dispositivo cuyo identificador se solicita. Las cadenas de clase de dispositivo válidas son las que se usan en la sección System.ini para identificar clases de dispositivo (como COM, Wave y MCI).
hTargetProcess
Identificador de proceso de la aplicación en nombre de la que se invoca la función TSPI_lineGetID . Si la información devuelta en la estructura VARSTRING incluye un identificador para su uso por parte de la aplicación, el proveedor de servicios debe crear o duplicar el identificador para el proceso.
Si hTargetProcess se establece en INVALID_HANDLE_VALUE, la aplicación se ejecuta en un sistema cliente remoto y no es posible crear un identificador duplicado directamente. En su lugar, la estructura VARSTRING debe contener un nombre UNC de un dispositivo de red u otro nombre que el cliente remoto pueda usar para acceder al dispositivo. Si esto no es posible, se producirá un error en la función.
Valor devuelto
Devuelve cero si la función se ejecuta correctamente o un número de error si se produce un error. Los valores devueltos posibles son los siguientes:
LINEERR_INVALLINEHANDLE, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_NODEVICE, LINEERR_RESOURCEUNAVAIL.
Comentarios
El servicio proporciona LINEERR_INVALLINEHANDLE si dwSelect es LINECALLSELECT_LINE o LINECALLSELECT_ADDRESS, y hdLine no es válido.
El proveedor de servicios devuelve LINEERR_INVALCALLHANDLE si dwSelect es LINECALLSELECT_CALL y hdCall no es válido.
El proveedor de servicios debe admitir la clase de dispositivo tapi/line para permitir que las aplicaciones determinen el identificador de dispositivo de línea real de una línea abierta. En ese caso, los datos de variable devueltos son dwDeviceID. Para obtener más información sobre los nombres comunes de clase de dispositivo, consulte Clases de dispositivo TSPI.
Un proveedor que define un tipo de medio específico del dispositivo también debe definir la API específica del dispositivo (propietaria) correspondiente para administrar dispositivos del tipo de medio. Para evitar colisiones en los nombres de clase de dispositivo asignados de forma independiente por distintos proveedores, un proveedor debe seleccionar un nombre que identifique de forma única al proveedor y, a continuación, el tipo de medio; por ejemplo: "intel/video".
El proveedor de servicios rellena todos los miembros de la estructura de datos VARSTRING , excepto dwTotalSize, rellenado por TAPI. El proveedor de servicios no debe sobrescribir el miembro dwTotalSize .
El proveedor de servicios no necesita preocuparse por el control de las clases de dispositivo tapi/line y tapi/phone porque TAPI los controla para el proveedor de servicios. Por lo tanto, el código para controlar estas clases de dispositivo es opcional.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | tspi.h |