Поделиться через


Структура DCB (winbase.h)

Определяет параметр управления для устройства последовательной связи.

Синтаксис

typedef struct _DCB {
  DWORD DCBlength;
  DWORD BaudRate;
  DWORD fBinary : 1;
  DWORD fParity : 1;
  DWORD fOutxCtsFlow : 1;
  DWORD fOutxDsrFlow : 1;
  DWORD fDtrControl : 2;
  DWORD fDsrSensitivity : 1;
  DWORD fTXContinueOnXoff : 1;
  DWORD fOutX : 1;
  DWORD fInX : 1;
  DWORD fErrorChar : 1;
  DWORD fNull : 1;
  DWORD fRtsControl : 2;
  DWORD fAbortOnError : 1;
  DWORD fDummy2 : 17;
  WORD  wReserved;
  WORD  XonLim;
  WORD  XoffLim;
  BYTE  ByteSize;
  BYTE  Parity;
  BYTE  StopBits;
  char  XonChar;
  char  XoffChar;
  char  ErrorChar;
  char  EofChar;
  char  EvtChar;
  WORD  wReserved1;
} DCB, *LPDCB;

Члены

DCBlength

Длина структуры в байтах. Вызывающий объект должен присвоить этому члену значение sizeof(DCB).

BaudRate

Скорость передачи данных, с которой работает устройство связи. Этот элемент может быть фактическим значением скорости передачи данных или одним из следующих индексов.

Значение Значение
CBR_110
110
110 бит/с
CBR_300
300
300 бит/с
CBR_600
600
600 бит/с
CBR_1200
1200
1200 бит/с
CBR_2400
2400
2400 бит/с
CBR_4800
4800
4800 бит/с
CBR_9600
9600
9600 бит/с
CBR_14400
14400
14400 бит/с
CBR_19200
19 200
19200 бит/с
CBR_38400
38400
38400 бит/с
CBR_57600
57600
57600 бит/с
CBR_115200
115 200
115200 бит/с
CBR_128000
128 000
128000 бит/с
CBR_256000
256000
256000 бит/с

fBinary

Если этот элемент имеет значение TRUE, то включен двоичный режим. Windows не поддерживает передачу в небиновом режиме, поэтому этот элемент должен иметь значение TRUE.

fParity

Если этот элемент имеет значение TRUE, выполняется проверка четности и сообщается об ошибках.

fOutxCtsFlow

Если этот элемент имеет значение TRUE, сигнал CTS (очистить для отправки) отслеживается для управления потоком вывода. Если этот элемент имеет значение TRUE и CTS отключен, выходные данные приостанавливаются до тех пор, пока cts не будет отправлена снова.

fOutxDsrFlow

Если этот элемент имеет значение TRUE, сигнал DSR (data-set-ready) отслеживается для управления потоком вывода. Если этот элемент имеет значение TRUE и DSR отключен, выходные данные приостанавливаются до тех пор, пока DSR не будет отправлен снова.

fDtrControl

Элемент управления потоком DTR (data-terminal-ready). Этот элемент может иметь одно из следующих значений.

Значение Значение
DTR_CONTROL_DISABLE
0x00
Отключает строку DTR при открытии устройства и оставляет ее отключенной.
DTR_CONTROL_ENABLE
0x01
Включает линию DTR при открытии устройства и оставляет ее включенной.
DTR_CONTROL_HANDSHAKE
0x02
Включает подтверждение DTR. Если подтверждение включено, приложение может настроить строку с помощью функции EscapeCommFunction .

fDsrSensitivity

Если этот элемент имеет значение TRUE, драйвер связи чувствителен к состоянию сигнала DSR. Драйвер игнорирует все полученные байты, если только линия ввода модема DSR не имеет большого значения.

fTXContinueOnXoff

Если этот элемент имеет значение TRUE, передача продолжается после того, как входной буфер заполнится в байтах XoffLim и драйвер передал символ XoffChar , чтобы прекратить получение байтов. Если этот элемент имеет значение FALSE, передача не продолжается до тех пор, пока входной буфер не перейдет в байты XonLim после того, как он пуст, и драйвер не переведет символ XonChar для возобновления приема.

fOutX

Указывает, используется ли управление потоком XON/XOFF во время передачи. Если этот элемент имеет значение TRUE, передача останавливается при получении символа XoffChar и начинается снова при получении символа XonChar .

fInX

Указывает, используется ли управление потоком XON/XOFF во время приема. Если этот член имеет значение TRUE, символ XoffChar отправляется, когда входной буфер попадает в байты XoffLim после заполнения, а символ XonChar отправляется, когда входной буфер попадает в байты XonLim после того, как он пуст.

fErrorChar

Указывает, заменяются ли байты, полученные с ошибками четности, символом, заданным элементом ErrorChar . Если этот элемент имеет значение TRUE , а элемент fParity имеет значение TRUE, происходит замена.

fNull

Если этот элемент имеет значение TRUE, при получении пустые байты удаляются.

fRtsControl

Элемент управления потоком RTS (запрос к отправке). Этот элемент может иметь одно из следующих значений.

Значение Значение
RTS_CONTROL_DISABLE
0x00
Отключает строку RTS при открытии устройства и оставляет ее отключенной.
RTS_CONTROL_ENABLE
0x01
Включает строку RTS при открытии устройства и оставляет ее включенной.
RTS_CONTROL_HANDSHAKE
0x02
Включает подтверждение RTS. Драйвер вызывает строку RTS, когда буфер "упреждающего типа" (входные данные) заполнен менее чем на половину, и опускает строку RTS, если буфер заполнен более чем на три четверти. Если подтверждение включено, приложение может настроить строку с помощью функции EscapeCommFunction .
RTS_CONTROL_TOGGLE
0x03
Указывает, что строка RTS будет высокой, если для передачи доступны байты. После отправки всех буферизированных байтов строка RTS будет низкой.

fAbortOnError

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

fDummy2

Защищены; не использовать.

wReserved

Защищены; значение должно быть равно нулю.

XonLim

Минимальное количество используемых байтов, разрешенное во входном буфере перед активацией управления потоком, чтобы разрешить передачу отправителем. Предполагается, что элемент управления входным потоком XON/XOFF, RTS или DTR указан в элементах fInX, fRtsControl или fDtrControl .

XoffLim

Минимальное количество свободных байтов, разрешенных во входном буфере до активации управления потоком, чтобы запретить отправителю. Обратите внимание, что отправитель может передавать символы после активации сигнала управления потоком, поэтому это значение никогда не должно быть равным нулю. Предполагается, что элемент управления входным потоком XON/XOFF, RTS или DTR указан в элементах fInX, fRtsControl или fDtrControl . Максимально допустимое число байтов вычисляется путем вычитания этого значения из размера входного буфера в байтах.

ByteSize

Количество переданных и полученных битов в байтах.

Parity

Используемая схема четности. Этот элемент может иметь одно из следующих значений.

Значение Значение
EVENPARITY
2
Даже паритет.
MARKPARITY
3
Пометка четности.
NOPARITY
0
Нет четности.
НЕЧЕТНОСТЬ
1
Нечетная четность.
SPACEPARITY
4
Четность пространства.

StopBits

Количество используемых стоп-битов. Этот элемент может иметь одно из следующих значений.

Значение Значение
ONESTOPBIT
0
1 стоп-бит.
ONE5STOPBITS
1
1,5 стоп-бита.
TWOSTOPBITS
2
2 стоп-бита.

XonChar

Значение символа XON для передачи и приема.

XoffChar

Значение символа XOFF для передачи и приема.

ErrorChar

Значение символа, используемого для замены полученных байтов ошибкой четности.

EofChar

Значение символа, используемого для обозначения конца данных.

EvtChar

Значение символа, используемого для передачи сигнала о событии.

wReserved1

Защищены; не использовать.

Комментарии

Если для настройки 8250 используется структура DCB , к значениям, указанным для членов ByteSize и StopBits , применяются следующие ограничения:

  • Количество битов данных должно быть от 5 до 8 бит.
  • Использование 5 битов данных с 2 стоп-битами является недопустимым сочетанием, как и 6, 7 или 8 битов данных с 1,5 стоп-битами.

Требования

Требование Значение
Минимальная версия клиента Windows XP
Минимальная версия сервера Windows Server 2003
Верхняя часть winbase.h (включая Windows.h)

См. также раздел

BuildCommDCB

ClearCommError

EscapeCommFunction

GetCommState

SetCommState