Функция BuildCommDCBA (winbase.h)
Заполняет указанную структуру DCB значениями, указанными в строке управления устройствами. Строка управления устройством использует синтаксис команды режима
Синтаксис
BOOL BuildCommDCBA(
[in] LPCSTR lpDef,
[out] LPDCB lpDCB
);
Параметры
[in] lpDef
Сведения об элементе управления устройствами. Функция принимает эту строку, анализирует ее, а затем задает соответствующие значения в структуре DCB, на которую указывает lpDCB.
Строка должна иметь ту же форму, что и аргументы командной строки режима
COM
Имя устройства является необязательным, но при использовании оно должно указывать допустимое устройство.
Например, следующая строка указывает скорость 1200 без четности, 8 битов данных и 1 стоп-бит:
baud=1200 parity=N data=8 stop=1
[out] lpDCB
Указатель на структуру DCB
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ненулевое.
Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
Функция buildCommDCB
- Если указанная скорость baud равно 110, функция задает 2 бита остановки для обеспечения совместимости с командой системы.
- По умолчанию BuildCommDCB отключает управление потоком XON/XOFF и аппаратного потока. Чтобы включить управление потоками, необходимо явно задать соответствующие элементы структуры DCB.
Существуют более старые и новые формы режима синтаксиса. Функция buildCommDCB
Более новая форма синтаксиса режима
- Для строки, которая не заканчивается x или p:
- fInX, fOutX, fOutXDsrFlowи fOutXCtsFlow имеют значение false false
- fDtrControl имеет значение DTR_CONTROL_ENABLE
- fRtsControl имеет значение RTS_CONTROL_ENABLE
- Для строки, заканчивающейся x:
- fInX и fOutX имеют значение TRUE
- fOutXDsrFlow и fOutXCtsFlow имеют значение false false
- fDtrControl имеет значение DTR_CONTROL_ENABLE
- fRtsControl имеет значение RTS_CONTROL_ENABLE
- Для строки, заканчивающейся p:
- fInX и fOutX имеют значение false false
- fOutXDsrFlow и fOutXCtsFlow имеют значение TRUE
- fDtrControl имеет значение DTR_CONTROL_HANDSHAKE
- fRtsControl имеет значение RTS_CONTROL_HANDSHAKE
Заметка
Заголовок winbase.h определяет BuildCommDCB как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP |
минимальный поддерживаемый сервер | Windows Server 2003 |
целевая платформа | Виндоус |
заголовка | winbase.h (включая Windows.h) |
библиотеки |
Kernel32.lib |
DLL | Kernel32.dll |
См. также
функций связи