Compartir a través de


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

Consulte también

TSPI_lineGetDevConfig

TSPI_lineSetDevConfig

VARSTRING