Функция BuildCommDCBAndTimeoutsA (winbase.h)
Преобразует строку определения устройства в соответствующие коды блоков управления устройствами и помещает их в блок управления устройством. Функция также может настроить значения времени ожидания, включая возможность отсутствия времени ожидания для устройства; Поведение функции в этом отношении зависит от содержимого строки определения устройства.
Синтаксис
BOOL BuildCommDCBAndTimeoutsA(
[in] LPCSTR lpDef,
[out] LPDCB lpDCB,
[out] LPCOMMTIMEOUTS lpCommTimeouts
);
Параметры
[in] lpDef
Сведения об элементе управления устройствами. Функция принимает эту строку, анализирует ее, а затем задает соответствующие значения в структуре DCB, на которую указывает lpDCB.
Строка должна иметь ту же форму, что и аргументы командной строки режима
Подстрока "baud" может быть любой из перечисленных значений, которые находятся в парах. Значения с двумя цифрами — это первые две цифры связанных значений, которые они представляют. Например, 11 представляет 110 baud, 19 представляет 19 200 baud.
Подстрока "четности" указывает, как используется бит четности для обнаружения ошибок передачи.
Значения представляют "none", "даже", "нечетный",
"Mark" и "space".
Дополнительные сведения см. в справочнике по команде режима
Например, следующая строка указывает скорость 1200 без четности, 8 битов данных и 1 стоп-бит:
baud=1200 parity=N data=8 stop=1
[out] lpDCB
Указатель на структуру 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 |
целевая платформа | Виндоус |
заголовка | winbase.h (включая Windows.h) |
библиотеки |
Kernel32.lib |
DLL | Kernel32.dll |
См. также
функций связи
SetCommTimeouts