Compartilhar via


comm/datamodem

A classe de dispositivo comm/datamodem consiste em dispositivos datamodem. Você acessa esses dispositivos usando o arquivo e funções de comunicação. Os dispositivos nessa classe são associados a dispositivos de linha que dão suporte ao tipo de mídia LINEMEDIAMODE_DATAMODEM, que é especificado no dwMediaModes membro da estruturaLINEDEVCAPS para o dispositivo de linha.

A função lineGetID preenche uma estruturaVARSTRING, configurando dwStringFormat ao valor STRINGFORMAT_BINARY e acrescentando estes membros adicionais:

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

O membro do hComm é o identificador da porta de comunicação aberta. Esse membro será NULL se a porta ainda não estiver aberta ou se o parâmetro dwSelect de lineGetID não for o valor LINECALLSELECT_CALL. Se uma chamada estiver ativa, o provedor de serviços normalmente abrirá a própria porta para obter o controle direto do hardware de comunicações, mas só será necessário retornar um identificador válido se a linha estiver conectada. O provedor de serviços abre a porta usando o valor FILE_FLAG_OVERLAPPED e configura a porta usando as configurações especificadas pela funçãolineSetDevConfig. Você pode definir opções de configuração adicionais para o dispositivo usando funções de comunicação com o identificador retornado.

O membro szDeviceName é um cadeia de caracteres terminada pornulo que especifica o nome da porta de comunicações associada à linha, endereço ou chamada.

Se hComm for um identificador válido, você poderá usá-lo em chamadas subsequentes para funções de arquivo, como ReadFile e WriteFile, para enviar e receber dados na chamada. Quando terminar de usar a porta de comunicações e, preferencialmente, antes de usar a função lineDeallocateCall para desalocar a chamada, você deverá fechar a porta usando a função CloseHandle.

Ao usar as funções lineGetDevConfig e lineSetDevConfig, alguns provedores de serviços exigem que os dados de configuração dessa classe de dispositivo tenham o seguinte formato:

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;

Veja a seguir as informações de configuração do dispositivo para uso com as funções lineGetDevConfig e lineSetDevConfig.

dwSize

Soma do tamanho da estrutura de DEVCFGHDR e o tamanho real da estrutura deCOMMCONFIG.

dwVersion

Número de versão da estrutura de DevConfig Unimodem. Esse membro pode ser MDMCFG_VERSION (0x00010003).

fwOptions

Sinalizadores de opção que aparecem na página opção Unimodem. Esse membro pode ser uma combinação desses valores:

TERMINAL_PRE (1)

Exibe a tela pré-terminal.

TERMINAL_POST (2)

Exibe a tela pós-terminal.

MANUAL_DIAL (4)

Disca o telefone manualmente, se for capaz de fazer isso.

LAUNCH_LIGHTS (8)

Exibe o ícone de modem na área de status da barra de tarefas.

Somente o valor LAUNCH_LIGHTS é definido por padrão

wWaitBong

Número de segundos (em dois segundos de granularidade) para substituir a espera pelo tom de crédito ($).

de Configuração

estrutura de COMMCONFIG que pode ser usada com as funções de comunicação e configuração de modem.