Estructura LINEDEVCAPS (tapi.h)

La estructura LINEDEVCAPS describe las funcionalidades de un dispositivo de línea. La función lineGetDevCaps y la función TSPI_lineGetDevCaps devuelven la estructura LINEDEVCAPS .

Sintaxis

typedef struct linedevcaps_tag {
  DWORD          dwTotalSize;
  DWORD          dwNeededSize;
  DWORD          dwUsedSize;
  DWORD          dwProviderInfoSize;
  DWORD          dwProviderInfoOffset;
  DWORD          dwSwitchInfoSize;
  DWORD          dwSwitchInfoOffset;
  DWORD          dwPermanentLineID;
  DWORD          dwLineNameSize;
  DWORD          dwLineNameOffset;
  DWORD          dwStringFormat;
  DWORD          dwAddressModes;
  DWORD          dwNumAddresses;
  DWORD          dwBearerModes;
  DWORD          dwMaxRate;
  DWORD          dwMediaModes;
  DWORD          dwGenerateToneModes;
  DWORD          dwGenerateToneMaxNumFreq;
  DWORD          dwGenerateDigitModes;
  DWORD          dwMonitorToneMaxNumFreq;
  DWORD          dwMonitorToneMaxNumEntries;
  DWORD          dwMonitorDigitModes;
  DWORD          dwGatherDigitsMinTimeout;
  DWORD          dwGatherDigitsMaxTimeout;
  DWORD          dwMedCtlDigitMaxListSize;
  DWORD          dwMedCtlMediaMaxListSize;
  DWORD          dwMedCtlToneMaxListSize;
  DWORD          dwMedCtlCallStateMaxListSize;
  DWORD          dwDevCapFlags;
  DWORD          dwMaxNumActiveCalls;
  DWORD          dwAnswerMode;
  DWORD          dwRingModes;
  DWORD          dwLineStates;
  DWORD          dwUUIAcceptSize;
  DWORD          dwUUIAnswerSize;
  DWORD          dwUUIMakeCallSize;
  DWORD          dwUUIDropSize;
  DWORD          dwUUISendUserUserInfoSize;
  DWORD          dwUUICallInfoSize;
  LINEDIALPARAMS MinDialParams;
  LINEDIALPARAMS MaxDialParams;
  LINEDIALPARAMS DefaultDialParams;
  DWORD          dwNumTerminals;
  DWORD          dwTerminalCapsSize;
  DWORD          dwTerminalCapsOffset;
  DWORD          dwTerminalTextEntrySize;
  DWORD          dwTerminalTextSize;
  DWORD          dwTerminalTextOffset;
  DWORD          dwDevSpecificSize;
  DWORD          dwDevSpecificOffset;
  DWORD          dwLineFeatures;
  DWORD          dwSettableDevStatus;
  DWORD          dwDeviceClassesSize;
  DWORD          dwDeviceClassesOffset;
  GUID           PermanentLineGuid;
  DWORD          dwAddressTypes;
  GUID           ProtocolGuid;
  DWORD          dwAvailableTracking;
} LINEDEVCAPS, *LPLINEDEVCAPS;

Miembros

dwTotalSize

Tamaño total asignado a esta estructura de datos, en bytes.

dwNeededSize

Tamaño necesario para que esta estructura de datos contenga toda la información devuelta, en bytes.

dwUsedSize

Tamaño de la parte de esta estructura de datos que contiene información útil, en bytes.

dwProviderInfoSize

Tamaño del campo de tamaño variable que contiene información del proveedor de servicios, en bytes.

dwProviderInfoOffset

Desplazamiento desde el principio de la estructura hasta la información del proveedor de servicios, en bytes.

Los miembros dwProviderInfoSize y dwProviderInfoOffset están diseñados para proporcionar información sobre el hardware o el software del proveedor, como el nombre del proveedor y los números de versión de hardware y software. Esta información puede ser útil cuando un usuario necesita llamar al servicio de atención al cliente con problemas relacionados con el proveedor.

dwSwitchInfoSize

Tamaño del campo de dispositivo de tamaño variable que contiene información del conmutador, en bytes.

dwSwitchInfoOffset

Desplazamiento desde el principio de la estructura hasta la información del modificador, en bytes.

Los miembros dwSwitchInfoSize y dwSwitchInfoOffset están diseñados para proporcionar información sobre el conmutador al que está conectado el dispositivo de línea, como el fabricante del conmutador, el nombre del modelo, la versión de software, etc. Esta información puede ser útil cuando un usuario necesita llamar al servicio de atención al cliente con problemas relacionados con el cambio.

dwPermanentLineID

Identificador permanente por el que se conoce el dispositivo de línea en la configuración del sistema. Es un nombre permanente para el dispositivo de línea. Este nombre permanente (en lugar de dwDeviceID) no cambia a medida que se agregan o quitan líneas del sistema y se conservan a través de las actualizaciones del sistema operativo. Por lo tanto, se puede usar para vincular información específica de línea en .ini archivos (u otros archivos) de una manera que no se vea afectada agregando o quitando otras líneas o cambiando el sistema operativo.

dwLineNameSize

Tamaño del campo de dispositivo de tamaño variable que contiene un nombre configurable por el usuario para este dispositivo de línea, en bytes.

dwLineNameOffset

Desplazamiento desde el principio de esta estructura de datos hasta el nombre de este dispositivo de línea. El usuario puede configurar este nombre al configurar el proveedor de servicios del dispositivo de línea y se proporciona para la comodidad del usuario. DwLineNameSize especifica el tamaño del campo.

dwStringFormat

Formato de cadena usado con este dispositivo de línea. Este miembro usa una de las STRINGFORMAT_ constantes.

dwAddressModes

Modo por el que se especifica la dirección de origen. Este miembro usa las constantes LINEADDRESSMODE_.

dwNumAddresses

Número de direcciones asociadas a este dispositivo de línea. Los identificadores de dirección hacen referencia a direcciones individuales. Los identificadores de dirección van de cero a uno menor que el valor indicado por dwNumAddresses.

dwBearerModes

Matriz de marcas que indica los diferentes modos de portador que la dirección puede admitir. Este miembro usa una o varias de las constantes de LINEBEARERMODE_.

dwMaxRate

Velocidad máxima de datos para el intercambio de información a través de la llamada, en bits por segundo.

dwMediaModes

Matriz de marcas que indica los distintos tipos de medios que la dirección puede admitir. Este miembro usa una o varias de las constantes de LINEMEDIAMODE_.

dwGenerateToneModes

Tonos que se pueden generar en esta línea. Este miembro usa una o varias de las constantes de LINETONEMODE_.

dwGenerateToneMaxNumFreq

Número máximo de frecuencias que se pueden especificar para describir un tono general mediante la estructura de datos LINEGENERATETONE al generar un tono mediante lineGenerateTone. Un valor de 0 indica que la generación de tonos no está disponible.

dwGenerateDigitModes

Modos de dígito que se pueden generar en esta línea. Este miembro usa una o varias de las constantes de LINEDIGITMODE_.

dwMonitorToneMaxNumFreq

Número máximo de frecuencias que se pueden especificar en la descripción de un tono general mediante la estructura de datos LINEMONITORTONE al supervisar un tono general mediante lineMonitorTones. Un valor de 0 indica que el monitor de tono no está disponible.

dwMonitorToneMaxNumEntries

Número máximo de entradas que se pueden especificar en una lista de tonos para lineMonitorTones.

dwMonitorDigitModes

Modos de dígito que se pueden detectar en esta línea. Este miembro usa una o varias de las constantes de LINEDIGITMODE_.

dwGatherDigitsMinTimeout

Valor mínimo que se puede especificar para los valores de tiempo de espera de primer dígito y entre dígitos usados por lineGatherDigits, en milisegundos. Si dwGatherDigitsMinTimeout y dwGatherDigitsMaxTimeout son cero, no se admiten tiempos de espera.

dwGatherDigitsMaxTimeout

Valor máximo que se puede especificar para los valores de tiempo de espera de primer dígito y entre dígitos usados por lineGatherDigits, en milisegundos. Si dwGatherDigitsMinTimeout y dwGatherDigitsMaxTimeout son cero, no se admiten tiempos de espera.

dwMedCtlDigitMaxListSize

Número máximo de entradas que se pueden especificar en el parámetro de lista de dígitos de lineSetMediaControl.

dwMedCtlMediaMaxListSize

Número máximo de entradas que se pueden especificar en el parámetro de lista de medios de lineSetMediaControl.

dwMedCtlToneMaxListSize

Número máximo de entradas que se pueden especificar en el parámetro de lista de tonos de lineSetMediaControl.

dwMedCtlCallStateMaxListSize

Número máximo de entradas que se pueden especificar en el parámetro de lista de estado de llamada de lineSetMediaControl.

dwDevCapFlags

Funcionalidades de dispositivo booleanas. Este miembro usa una o varias de las constantes de LINEDEVCAPFLAGS_.

dwMaxNumActiveCalls

Número máximo de llamadas (ancho de banda mínimo) que pueden estar activas (conectadas) en la línea en cualquier momento. El número real de llamadas activas puede ser menor si se han establecido llamadas de ancho de banda más altas en la línea.

dwAnswerMode

Efecto en la llamada activa al responder a otra llamada de oferta en un dispositivo de línea. Este miembro usa una de las constantes LINEANSWERMODE_.

dwRingModes

Número de modos de anillo diferentes que se pueden notificar en el mensaje de LINE_LINEDEVSTATE con la indicación de timbre . Los diferentes modos de anillo van de uno a dwRingModes. Cero indica que no hay ningún anillo.

dwLineStates

Diferentes componentes de estado de línea para los que se puede notificar a la aplicación en un mensaje de LINE_LINEDEVSTATE en esta línea. Este miembro usa una o varias de las constantes de LINEDEVSTATE_.

dwUUIAcceptSize

Tamaño máximo de la información de usuario-usuario, incluido el terminador NULL , que se puede enviar durante una aceptación de llamada.

dwUUIAnswerSize

Tamaño máximo de la información de usuario-usuario, incluido el terminador NULL , que se puede enviar durante una respuesta de llamada.

dwUUIMakeCallSize

Tamaño máximo de la información de usuario-usuario, incluido el terminador NULL , que se puede enviar durante una llamada make.

dwUUIDropSize

Tamaño máximo de la información de usuario-usuario, incluido el terminador NULL , que se puede enviar durante una eliminación de llamadas.

dwUUISendUserUserInfoSize

Tamaño máximo de la información de usuario-usuario, incluido el terminador NULL , que se puede enviar por separado en cualquier momento durante una llamada con lineSendUserUserInfo.

dwUUICallInfoSize

Tamaño máximo de información de usuario-usuario, incluido el terminador NULL , que se puede recibir en la estructura LINECALLINFO .

MinDialParams

Valor mínimo para los parámetros de marcado que se pueden establecer para las llamadas en esta línea, en milisegundos. Los parámetros de marcado se pueden establecer en valores del intervalo MinDialParams en MaxDialParams. La granularidad de la configuración real es específica del proveedor de servicios.

MaxDialParams

Valor máximo para los parámetros de marcado que se pueden establecer para las llamadas en esta línea, en milisegundos. Los parámetros de marcado se pueden establecer en valores del intervalo MinDialParams en MaxDialParams. La granularidad de la configuración real es específica del proveedor de servicios.

DefaultDialParams

Parámetros de marcado predeterminados usados para las llamadas en esta línea. Estos valores de parámetro se pueden invalidar por llamada.

dwNumTerminals

Número de terminales que se pueden establecer para este dispositivo de línea, sus direcciones o sus llamadas. Los identificadores de terminal hacen referencia a los terminales individuales y van de cero a uno menor que el valor indicado por dwNumTerminals.

dwTerminalCapsSize

Tamaño del campo de dispositivo de tamaño variable que contiene una matriz con entradas de tipo LINETERMCAPS, en bytes.

dwTerminalCapsOffset

Desplazamiento desde el principio de esta estructura hasta el campo de dispositivo de tamaño variable que contiene una matriz con entradas de tipo LINETERMCAPS. Esta matriz se indexa mediante identificadores de terminal, en el intervalo de cero a dwNumTerminals menos uno. Cada entrada de la matriz especifica las funcionalidades del dispositivo terminal del terminal correspondiente. DwTerminalCapsSize especifica el tamaño del campo.

dwTerminalTextEntrySize

Tamaño de cada una de las descripciones de texto de terminal, incluido el terminador null , al que apunta dwTerminalTextSize y dwTerminalTextOffset, en bytes.

dwTerminalTextSize

Tamaño del campo de tamaño variably que contiene texto descriptivo sobre cada uno de los terminales disponibles de la línea, incluido el terminador NULL , en bytes

dwTerminalTextOffset

Desplazamiento desde el principio de esta estructura al texto descriptivo sobre cada uno de los terminales disponibles de la línea, en bytes. Cada mensaje es dwTerminalTextEntrySize bytes long. El formato de cadena de estas descripciones textuales se indica mediante dwStringFormat en las funcionalidades del dispositivo de la línea. DwTerminalTextSize especifica el tamaño del campo.

dwDevSpecificSize

Tamaño del campo específico del dispositivo de tamaño variably, en bytes. Si la información específica del dispositivo es un puntero a una cadena, el tamaño debe incluir el terminador null .

dwDevSpecificOffset

Desplazamiento desde el principio de esta estructura hasta el campo específico del dispositivo, en bytes. El tamaño del campo se especifica mediante dwDevSpecificSize.

dwLineFeatures

Características disponibles para esta línea mediante las constantes LINEFEATURE_. Invocar una característica compatible requiere que la línea esté en el estado adecuado y que el dispositivo de línea subyacente se abra en un modo compatible. Un cero en una posición de bits indica que la característica correspondiente nunca está disponible. Una indica que la característica correspondiente puede estar disponible si la línea está en el estado adecuado para que la operación sea significativa. Este miembro permite a una aplicación detectar qué características de línea pueden ser (y que nunca pueden ser) compatibles con el dispositivo.

dwSettableDevStatus

Valores LINEDEVSTATUSFLAGS que se pueden modificar mediante lineSetLineDevStatus.

dwDeviceClassesSize

Tamaño de una cadena que contiene los identificadores de clase de dispositivo admitidos en una o varias direcciones de esta línea, incluido el terminador NULL , en bytes.

dwDeviceClassesOffset

Desfase desde el principio de esta estructura a una cadena que contiene los identificadores de clase de dispositivo admitidos en una o varias direcciones de esta línea, en bytes. Estas cadenas se usan con lineGetID; están separados por NULLs y el último identificador de la lista va seguido de dos VALORES NULL. El tamaño del campo se especifica mediante dwDeviceClassesSize.

PermanentLineGuid

GUID asociado permanentemente al dispositivo de línea.

dwAddressTypes

Tipo de dirección usado para la llamada. Este miembro de la estructura solo está disponible si la versión de TAPI negociada es 3.0 o posterior.

ProtocolGuid

Protocolo TAPI actual. Este miembro de la estructura solo está disponible si la versión de TAPI negociada es 3.0 o posterior. Los protocolos se declaran en tapi3.h.

dwAvailableTracking

Seguimiento disponible, como se representa mediante una LINECALLHUBTRACKING.constant. Este miembro de la estructura solo está disponible si la versión de TAPI negociada es 3.0 o posterior.

Comentarios

Las extensiones específicas del dispositivo deben usar el área de tamaño variable DevSpecific (dwDevSpecificSize y dwDevSpecificOffset) de esta estructura de datos.

Las aplicaciones anteriores se compilan sin miembros nuevos en la estructura LINEDEVCAPS y usan SIZEOF LINEDEVCAPS más pequeños que el nuevo tamaño. La aplicación pasa un parámetro dwAPIVersion con la función lineGetDevCaps , que TAPI puede usar para obtener instrucciones para controlar esta situación. Si la aplicación pasa un miembro dwTotalSize menor que el tamaño de la parte fija de la estructura tal y como se define en dwAPIVersion especificado, se devuelve LINEERR_STRUCTURETOOSMALL. Si la aplicación ha asignado suficiente memoria, antes de llamar a TSPI_lineGetDevCaps, TAPI establece los miembros dwNeededSize y dwUsedSize en el tamaño fijo de la estructura tal como existía en la versión de API especificada.

Las nuevas aplicaciones deben ser conscientes de la versión de api negociada y no examinar el contenido de los miembros de la parte fija más allá del final original de la parte fija de la estructura para la versión de API negociada.

Si el bit de LINEBEARERMODE_DATA se establece en el miembro dwBearerModes , el miembro dwMaxRate indica la velocidad máxima de transmisión digital en el canal de portador. El miembro dwMaxRate de la estructura LINEDEVCAPS puede contener valores válidos aunque el miembro dwBearerModes de la estructura LINEDEVCAPS no esté establecido en LINEBEARERMODE_DATA.

Si LINEBEARERMODE_DATA no se establece en dwBearerModes, pero el valor de LINEBEARERMODE_VOICE se establece y el valor de LINEMEDIAMODE_DATAMODEM se establece en el miembro dwMediaModes , el miembro dwMaxRate indica la velocidad de bits máxima SYNCHRONOUS (DCE) en la línea de teléfono para el módem adjunto o equivalente funcional. Por ejemplo, si la velocidad de modulación más rápida del módem es V.32bis a 14.400bps, dwMaxRate es igual a 14400. Esta no es la velocidad de puerto DTE más rápida (que probablemente sería 38400, 57600 o 115200), pero la velocidad de bits más rápida que admite el módem en la línea de teléfono.

La aplicación debe tener cuidado de comprobar que no se ha establecido LINEBEARERMODE_DATA, para evitar malinterpretar el miembro dwMaxRate . Es probable que sea 64000 o superior si se establece LINEBEARERMODE_DATA.

También debe tenerse en cuenta que si el módem no se ha identificado específicamente (por ejemplo, es un módem "genérico"), la figura indicada es una "mejor estimación" basada en el examen del módem.

Los miembros dwSettableDevStatus a través de dwDeviceClassesOffset solo están disponibles para las aplicaciones que abren el dispositivo de línea con una versión TAPI de 2.0 o posterior.

Requisitos

Requisito Valor
Header tapi.h

Consulte también

LINECALLINFO

LINEGENERATETONE

LINEMONITORTONE

LINETERMCAPS

LINETRANSLATECAPS

LINE_LINEDEVSTATE

TSPI_lineGetDevCaps

lineClose

lineDial

lineGatherDigits

lineGenerateTone

lineGetDevCaps

lineGetID

lineGetTranslateCaps

lineMakeCall

lineMonitorTones

lineSendUserUserInfo

lineSetMediaControl

lineTranslateAddress

lineUncompleteCall