Compartilhar via


Função BuildCommDCBA (winbase.h)

Preenche uma estrutura de dcb especificada com valores especificados em uma cadeia de caracteres de controle de dispositivo. A cadeia de caracteres de controle de dispositivo usa a sintaxe do comando modo.

Sintaxe

BOOL BuildCommDCBA(
  [in]  LPCSTR lpDef,
  [out] LPDCB  lpDCB
);

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 de DCB apontada por lpDCB.

A cadeia de caracteres deve ter o mesmo formulário que o modo argumentos de linha de comando do comando:

COMx[:][baud=b][parity=p][data=d][stop=s][to={on|off}][xon={on|off}][odsr={on|off}][octs={on|off}][dtr={on|off|hs}][rts={on|off|hs|tg}][idsr={on|off}]

O nome do dispositivo é opcional, mas deve especificar um dispositivo válido, se usado.

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 de dcb que recebe as informações.

Valor de retorno

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

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

Observações

A função BuildCommDCB ajusta apenas os membros da estrutura de do DCB que são especificamente afetados pelo parâmetro lpDef , com as seguintes exceções:

  • Se a taxa de baud especificada for 110, a função definirá os bits de parada como 2 para permanecerem compatíveis com o modo do sistema comando.
  • Por padrão, BuildCommDCB desabilita o XON/XOFF e o controle de fluxo de hardware. Para habilitar o controle de fluxo, você deve definir explicitamente os membros apropriados da estrutura de do DCB.
A função BuildCommDCB preenche apenas os membros da estrutura de do DCB. Para aplicar essas configurações a uma porta serial, use a função SetCommState.

Há formas mais antigas e mais recentes do modo sintaxe. A função BuildCommDCB dá suporte a ambos os formulários. No entanto, você não pode misturar os dois formulários.

A forma mais recente do modo sintaxe permite definir explicitamente os valores dos membros do controle de fluxo da estrutura de do DCB. Se você usar uma forma mais antiga do modo sintaxe, a função BuildCommDCB definirá os membros do controle de fluxo da estrutura de do DCB , da seguinte maneira:

  • Para uma cadeia de caracteres que não termina com um x ou um p:
    • fInX, fOutX, fOutXDsrFlowe fOutXCtsFlow estão todos definidos como false
    • fDtrControl está definido como DTR_CONTROL_ENABLE
    • fRtsControl está definido como RTS_CONTROL_ENABLE
  • Para uma cadeia de caracteres que termina com um x:
    • fInX e fOutX estão definidos para TRUE
    • fOutXDsrFlow e fOutXCtsFlow são definidos como FALSE
    • fDtrControl está definido como DTR_CONTROL_ENABLE
    • fRtsControl está definido como RTS_CONTROL_ENABLE
  • Para uma cadeia de caracteres que termina com um p:
    • fInX e fOutX estão definidos para FALSE
    • fOutXDsrFlow e fOutXCtsFlow estão definidos como true
    • fDtrControl está definido como DTR_CONTROL_HANDSHAKE
    • fRtsControl está definido como RTS_CONTROL_HANDSHAKE

Nota

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

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP
servidor com suporte mínimo Windows Server 2003
da Plataforma de Destino Windows
cabeçalho winbase.h (inclua Windows.h)
biblioteca Kernel32.lib
de DLL Kernel32.dll

Consulte também

Funções de comunicação

recursos de comunicação

do DCB

SetCommState