Функция BuildCommDCBAndTimeoutsW (winbase.h)

Преобразует строку определения устройства в соответствующие коды блоков управления устройствами и помещает их в блок управления устройством. Функция также может настраивать значения времени ожидания, включая возможность отсутствия времени ожидания, для устройства; поведение функции в этом отношении зависит от содержимого строки определения устройства.

Синтаксис

BOOL BuildCommDCBAndTimeoutsW(
  [in]  LPCWSTR        lpDef,
  [out] LPDCB          lpDCB,
  [out] LPCOMMTIMEOUTS lpCommTimeouts
);

Параметры

[in] lpDef

Сведения об управлении устройством. Функция принимает эту строку, анализирует ее, а затем задает соответствующие значения в структуре DCB , на которую указывает lpDCB.

Строка должна иметь ту же форму, что и аргументы командной строки команды mode :

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

Подстрока "baud" может быть любым из перечисленных значений, которые находятся в парах. Двузначные значения — это первые две цифры связанных значений, которые они представляют. Например, 11 представляет 110 бод, 19 — 19 200 бод.

Подстрока "четность" указывает, как бит четности используется для обнаружения ошибок передачи. Значения представляют "none", "even", "odd", "odd",
"mark" и "space".

Дополнительные сведения см. в справочнике по командам Mode в TechNet.

Например, следующая строка указывает скорость передачи данных 1200, без четности, 8 битов данных и 1 стоп-бит:

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

[out] lpDCB

Указатель на структуру DCB , которая получает сведения из строки сведений об управлении устройством, на которую указывает lpDef. Эта структура DCB определяет параметры управления для устройства связи.

[out] lpCommTimeouts

Указатель на структуру COMMTIMEOUTS , которая получает сведения о времени ожидания.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Функция BuildCommDCBAndTimeouts изменяет поведение установки времени ожидания в зависимости от наличия или отсутствия подстроки to={on|off}в lpDef:

  • Если эта строка содержит подстроку to=on, функция устанавливает для элемента WriteTotalTimeoutConstant структуры COMMTIMEOUTS значение 60 000, а для всех остальных элементов — значение 0.
  • Если эта строка содержит подстроку "to=off", функция устанавливает для членов COMMTIMEOUTS значение 0.
  • Если в этой строке не указана подстрока to={on|off}, функция игнорирует структуру COMMTIMEOUTS в lpCommTimeouts.
Дополнительные сведения см. в разделе Примечания для функции BuildCommDCB .

Примечание

Заголовок winbase.h определяет BuildCommDCBAndTimeouts в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP
Минимальная версия сервера Windows Server 2003
Целевая платформа Windows
Header winbase.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

BuildCommDCB

COMMTIMEOUTS

Функции связи

Ресурсы связи

DCB

GetCommTimeouts

SetCommTimeouts