Функция BuildCommDCBAndTimeoutsA (winbase.h)
Преобразует строку определения устройства в соответствующие коды блоков управления устройствами и помещает их в блок управления устройством. Функция также может настроить значения времени ожидания, включая возможность отсутствия времени ожидания, для устройства; поведение функции в этом отношении зависит от содержимого строки определения устройства.
Синтаксис
BOOL BuildCommDCBAndTimeoutsA(
[in] LPCSTR lpDef,
[out] LPDCB lpDCB,
[out] LPCOMMTIMEOUTS lpCommTimeouts
);
Параметры
[in] lpDef
Сведения об управлении устройством. Функция принимает эту строку, анализирует ее, а затем задает соответствующие значения в структуре DCB , на которую указывает lpDCB.
Строка должна иметь ту же форму, что и аргументы командной строки команды режима :
COMx[:][baud={11|110|150||30 300||600||12|1200|242400||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 значение 60000, а для всех остальных элементов — значение 0.
- Если эта строка содержит подстроку "to=off", функция присваивает членам COMMTIMEOUTS значение 0.
- Если в этой строке не указана подстрока "to={on|off}", функция игнорирует структуру COMMTIMEOUTS в lpCommTimeouts.
Примечание
Заголовок winbase.h определяет BuildCommDCBAndTimeouts в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP |
Минимальная версия сервера | Windows Server 2003 |
Целевая платформа | Windows |
Header | winbase.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |