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.
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 |