Função BuildCommDCBA (winbase.h)
Preenche uma estrutura 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 mode .
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 dcb apontada por lpDCB.
A cadeia de caracteres deve ter o mesmo formato que os argumentos de linha de comando do comando mode:
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 DCB que recebe as informações.
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 BuildCommDCB ajusta apenas os membros da estrutura 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 comando mode do sistema.
- 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 dcb .
Há formas mais antigas e mais recentes da sintaxe de modo . A função BuildCommDCB dá suporte a ambos os formulários. No entanto, você não pode misturar as duas formas.
A forma mais recente da sintaxe de modo permite definir explicitamente os valores dos membros de controle de fluxo da estrutura DCB . Se você usar uma forma mais antiga da sintaxe de modo , a função BuildCommDCB definirá os membros de controle de fluxo da estrutura dcb , da seguinte maneira:
- Para uma cadeia de caracteres que não termina com um x ou um p:
- fInX, fOutX, fOutXDsrFlow e fOutXCtsFlow estão definidos como FALSE
- fDtrControl é 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 são definidos como TRUE
- fOutXDsrFlow e fOutXCtsFlow são definidos como FALSE
- fDtrControl é 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 são definidos como FALSE
- fOutXDsrFlow e fOutXCtsFlow são definidos como TRUE
- fDtrControl é definido como DTR_CONTROL_HANDSHAKE
- fRtsControl está definido como RTS_CONTROL_HANDSHAKE
Observação
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 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 (incluir Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |