Share via


comm/datamodem

The comm/datamodem device class consists of data modem devices. You access these devices using the file and communications functions. Devices in this class are associated with line devices that support the LINEMEDIAMODE_DATAMODEM media type, which is specified in the dwMediaModes member of the LINEDEVCAPS structure for the line device.

Parameters

The lineGetID function fills a VARSTRING structure, setting dwStringFormat to the STRINGFORMAT_BINARY value and appending these additional members:

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

The hComm member is the handle of the open communications port. This member is NULL if the port is not yet open or if the dwSelect parameter of lineGetID is not the LINECALLSELECT_CALL value. The service provider is responsible for duplicating the handle into the calling process's context, as specified by the hTargetProcess parameter. If a call is active, the service provider typically opens the port itself to get direct control of the communications hardware, but is only required to return a valid handle if the line is connected. The service provider opens the port using the FILE_FLAG_OVERLAPPED value, and then configures the port using the settings specified by the lineSetDevConfig function. An application can set additional configuration options for the device using Windows functions with the returned handle.

The szDeviceName member is a NULL-terminated string that specifies the name of the communications port associated with the line, address, or call.

When using the lineGetDevConfig and lineSetDevConfig functions, some service providers require that the configuration data for this device class have the following format:

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;

Contains device configuration information for use with the TSPI_lineGetDevConfig and TSPI_lineSetDevConfig functions.

  • dwSize
    Sum of the size of the DEVCFGHDR structure and the actual size of COMMCONFIG structure.

  • dwVersion
    Version number of the Unimodem DevConfig structure. This member can be MDMCFG_VERSION (0x00010003).

  • fwOptions
    Option flags that appear on the Unimodem Option page. This member can be a combination of these values:

    • TERMINAL_PRE (1)
      Displays the preterminal screen.

    • TERMINAL_POST (2)
      Displays the postterminal screen.

    • MANUAL_DIAL (4)
      Dials the phone manually, if capable of doing so.

    • LAUNCH_LIGHTS (8)
      Displays the modem icon in the status area of the taskbar.

    Only the LAUNCH_LIGHTS value is set by default.

  • wWaitBong
    Number of seconds (in two seconds granularity) to replace the wait for credit tone ($).

  • commconfig
    COMMCONFIG structure that can be used with the communications and MCX functions.