Compartilhar via


Função BuildCommDCBAndTimeoutsW (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 sem tempo limite, para um dispositivo; O comportamento da função a esse respeito depende do conteúdo da cadeia de caracteres de definição de dispositivo.

Sintaxe

BOOL BuildCommDCBAndTimeoutsW(
  [in]  LPCWSTR        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 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={111101515030300606001212002424004848009696001919200}][paridade={neoms}][data={5678}][stop={11,52}][to={nooff}][xon={onoff}][odsr={onoff}][octs={onoff}][dtr={onoff}][dtr={on}][dtr={on}][dtr={onoffhs}][rts={onoffhstg}][idsr={onoff}]

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 modo 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 de do DCB que recebe informações da cadeia de caracteres de informações de controle de dispositivo apontada por lpDef. Esse estrutura de do DCB define as configurações de controle de um dispositivo de comunicação.

[out] lpCommTimeouts

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

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 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 WriteTotalTimeoutConstant membro 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 de COMMTIMEOUTS em lpCommTimeouts.
Para obter mais informações, consulte as Observações para a função BuildCommDCB.

Nota

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

BuildCommDCB

COMMTIMEOUTS

Funções de comunicação

recursos de comunicação

do DCB

GetCommTimeouts

setCommTimeouts