Compartir a través de


comm/datamodem

La clase de dispositivo comm/datamodem consta de dispositivos datamodem. Puede acceder a estos dispositivos mediante las funciones de archivo y comunicaciones. Los dispositivos de esta clase están asociados a dispositivos de línea que admiten el tipo de medio LINEMEDIAMODE_DATAMODEM, que se especifica en el miembro dwMediaModes de la estructura LINEDEVCAPS para el dispositivo de línea.

La función lineGetID rellena una estructura VARSTRING , estableciendo dwStringFormat en el valor de STRINGFORMAT_BINARY y anexando estos miembros adicionales:

HANDLE hComm;            // file handle to data modem
CHAR   szDeviceName[1];  // name of data modem

El miembro hComm es el identificador del puerto de comunicaciones abierto. Este miembro es NULL si el puerto aún no está abierto o si el parámetro dwSelect de lineGetID no es el valor LINECALLSELECT_CALL. Si una llamada está activa, el proveedor de servicios normalmente abre el propio puerto para obtener el control directo del hardware de comunicaciones, pero solo es necesario para devolver un identificador válido si la línea está conectada. El proveedor de servicios abre el puerto mediante el valor de FILE_FLAG_OVERLAPPED y, a continuación, configura el puerto mediante la configuración especificada por la función lineSetDevConfig . Puede establecer opciones de configuración adicionales para el dispositivo mediante funciones de comunicaciones con el identificador devuelto.

El miembro szDeviceName es una cadena terminada en null que especifica el nombre del puerto de comunicaciones asociado a la línea, dirección o llamada.

Si hComm es un identificador válido, puede usarlo en llamadas posteriores a funciones de archivo, como ReadFile y WriteFile, para enviar y recibir datos en la llamada. Cuando haya terminado de usar el puerto de comunicaciones y preferiblemente antes de usar la función lineDeallocateCall para desasignar la llamada, debe cerrar el puerto mediante la función CloseHandle .

Al usar las funciones lineGetDevConfig y lineSetDevConfig , algunos proveedores de servicios requieren que los datos de configuración de esta clase de dispositivo tengan el formato siguiente:

typedef struct  tagDEVCFG  {
  DEVCFGHDR   dfgHdr;
  COMMCONFIG  commconfig;
} DEVCFG, *PDEVCFG, FAR* LPDEVCFG;

// Device setting information
typedef struct  tagDEVCFGDR  {
  DWORD       dwSize;
  DWORD       dwVersion;
  WORD        fwOptions;
  WORD        wWaitBong;
} DEVCFGHDR;

A continuación se muestra información de configuración del dispositivo para su uso con las funciones lineGetDevConfig y lineSetDevConfig .

dwSize

Suma del tamaño de la estructura DEVCFGHDR y el tamaño real de la estructura COMMCONFIG .

dwVersion

Número de versión de la estructura Unimodem DevConfig . Este miembro puede ser MDMCFG_VERSION (0x00010003).

fwOptions

Marcas de opción que aparecen en la página Opción Unimodem. Este miembro puede ser una combinación de estos valores:

TERMINAL_PRE (1)

Muestra la pantalla anterior al terminal.

TERMINAL_POST (2)

Muestra la pantalla posterior al terminal.

MANUAL_DIAL (4)

Marca el teléfono manualmente, si es capaz de hacerlo.

LAUNCH_LIGHTS (8)

Muestra el icono del módem en el área de estado de la barra de tareas.

Solo el valor de LAUNCH_LIGHTS se establece de forma predeterminada.

wWaitBong

Número de segundos (en dos segundos de granularidad) para reemplazar el tono de crédito de espera ($).

Commconfig

Estructura COMMCONFIG que se puede usar con las funciones de configuración de módem y comunicaciones.