Compartilhar via


Função BuildCommDCBAndTimeoutsA (winbase.h)

Converte uma cadeia de caracteres de definição de dispositivo em códigos de bloco de controle de dispositivo apropriados e os coloca em um bloco de controle do dispositivo. A função também pode configurar valores de tempo limite, incluindo a possibilidade de nenhum tempo limite, para um dispositivo; O comportamento da função nesse sentido depende do conteúdo da cadeia de caracteres de definição de dispositivo.

Sintaxe

BOOL BuildCommDCBAndTimeoutsA(
  [in]  LPCSTR         lpDef,
  [out] LPDCB          lpDCB,
  [out] LPCOMMTIMEOUTS lpCommTimeouts
);

Parâmetros

[in] lpDef

As informações de controle de dispositivo. A função usa essa cadeia de caracteres, analisa-a e define os valores apropriados na estrutura DCB apontada por lpDCB.

A cadeia de caracteres deve ter a mesma forma que os argumentos de linha de comando do comando do modo :

COMx[:][baud={11|110|15|150|30|300|60|600|12|1200|24|2400|48|4800|96|9600|1919200|}][parity={n |e|o|M|s}] [data={5|6|7|8}][stop={11.5||2}][to={on|off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][idsr={on|off}]

A subcadeia de caracteres "baud" pode ser qualquer um dos valores listados, que estão em pares. Os valores de dois dígitos são os dois primeiros dígitos dos valores associados que eles representam. Por exemplo, 11 representa 110 baud, 19 representa 19.200 baud.

A subcadeia de caracteres "paridade" indica como o bit de paridade é usado para detectar erros de transmissão. Os valores representam "none", "even", "odd",
"mark" e "space".

Para obter mais informações, consulte a referência de comando Mode no TechNet.

Por exemplo, a cadeia de caracteres a seguir especifica uma taxa de baud de 1200, sem paridade, 8 bits de dados e 1 bit de parada:

baud=1200 parity=N data=8 stop=1

[out] lpDCB

Um ponteiro para uma estrutura dcb que recebe informações da cadeia de caracteres de informações de controle de dispositivo apontada por lpDef. Essa estrutura dcb define as configurações de controle para um dispositivo de comunicação.

[out] lpCommTimeouts

Um ponteiro para uma estrutura COMMTIMEOUTS que recebe informações de tempo limite.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

A função BuildCommDCBAndTimeouts modifica seu comportamento de configuração de tempo limite com base na presença ou ausência de uma subcadeia de caracteres "to={on|off}" no lpDef:

  • Se essa cadeia de caracteres contiver a subcadeia de caracteres "to=on", a função definirá o membro WriteTotalTimeoutConstant da estrutura COMMTIMEOUTS como 60000 e todos os outros membros como 0.
  • Se essa cadeia de caracteres contiver a subcadeia de caracteres "to=off", a função definirá os membros de COMMTIMEOUTS como 0.
  • Se essa cadeia de caracteres não especificar uma subcadeia de caracteres "to={on|off}", a função ignorará a estrutura COMMTIMEOUTS em lpCommTimeouts.
Para obter mais informações, consulte Comentários para a função BuildCommDCB .

Observação

O cabeçalho winbase.h define BuildCommDCBAndTimeouts como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP
Servidor mínimo com suporte Windows Server 2003
Plataforma de Destino Windows
Cabeçalho winbase.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

BuildCommDCB

COMMTIMEOUTS

Funções de comunicação

Recursos de comunicação

DCB

GetCommTimeouts

Setcommtimeouts