Структура DCB определяет настройки управления последовательным коммуникационным устройством.
Синтаксис
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; |
Скорость передачи данных, в бодах, с которой работает коммуникационное устройство. Этот член структуры может быть фактическим значением скорости передачи данных в бодах, или одним из ниже перечисленных индексов:
|
Если этот член структуры - ИСТИНА (TRUE), включается двоичный режим. Windows не поддерживает недвоичный режим передачи, так что этот член структуры должен быть ИСТИНА (TRUE).
Если этот член структуры - ИСТИНА (TRUE), то проверяется сигнал готовности к приему (CTS) для управления потоком вывода данных. Если этот член структуры - ИСТИНА (TRUE), а сигнал готовности к приему (CTS) выключен, вывод данных приостанавливается до тех пор, пока сигнал готовности к приему (CTS) не отправляется снова.
Если этот член структуры - ИСТИНА (TRUE), то проверяется сигнал готовности модема (DSR) для управления потоком вывода данных. Если этот член структуры - ИСТИНА (TRUE), а сигнал готовности модема (DSR) отключается, вывод данных приостанавливается до тех пор, пока сигнал готовности модема (DSR) не отправляется снова.
Сигнал DTR (готовности терминала к передаче данных) управления потоком данных. Этот член структуры может быть одним из следующих значений.
Значение | Предназначение |
---|---|
DTR_CONTROL_DISABLE | Отключает линию DTR, когда устройство открывается и оставляет ее заблокированной. |
DTR_CONTROL_ENABLE | Включает линию DTR, когда устройство открывается и оставляет ее включенной. |
DTR_CONTROL_HANDSHAKE | Включает процедуру установления связи DTR. Если процедура установления связи включена, она является ошибкой для приложения, которое корректировать линию, используя функцию EscapeCommFunction. |
Если этот член структуры - ИСТИНА (TRUE), коммуникационный драйвер чувствителен к состоянию сигнала готовности модема (DSR). Драйвер игнорирует любые принимаемые байты, если сигнал DSR модемной линии ввода данных не высокий.
Если этот член структуры - ИСТИНА (TRUE), то передача продолжается и после того, как байты заполнения буфера ввода данных достигают XoffLim, а драйвер передал символ члена XoffChar, чтобы остановить прием байтов. Если этот член структуры - ЛОЖЬ (FALSE), передача не продолжается до тех пор, пока выгружаемые байты буфера ввода данных не достигнут XonLim, а драйвер не передаст символ члена структуры XonChar, чтобы возобновить прием.
Указывает, используется ли XON/XOFF управление потоком данных в ходе передачи. Если этот член структуры - ИСТИНА (TRUE), передача останавливается, когда принимается символ члена структуры XoffChar и начинается снова, когда принят символ члена XonChar.
Указывает, используется ли XON/XOFF управление потоком данных в ходе приема. Если этот член структуры - ИСТИНА (TRUE), символ члена структуры XoffChar отправляется тогда, когда заполняемые байты буфера ввода данных достигают величины XoffLim, а символ члена XonChar отправляется тогда, когда выгружаемые байты буфера ввода данных находятся в пределах величины XonLim .
Указывает, заменяются ли байты, принятые с ошибками четности символом, определенным членом структуры ErrorChar. Если этот член структуры - ИСТИНА (TRUE), и член структуры fParity - ИСТИНА (TRUE), замена происходит.
Если этот член структуры - ИСТИНА (TRUE), при приеме пустые байты сбрасываются.
Сигнал RTS ( готовности к передаче) управления потоком данных. Этот член структуры может быть одним из следующих значений.
Значение | Предназначение |
---|---|
RTS_CONTROL_DISABLE | Отключает линию RTS, когда устройство открывается и оставляет ее отключенной. |
RTS_CONTROL_ENABLE | Включает в работу линию RTS, когда устройство открывается и оставляет ее включенной. |
RTS_CONTROL_HANDSHAKE | Включает процедуру установления связи RTS. Драйвер поднимает линию RTS, когда (входной) буфер "опережающего ввода с клавиатуры" заполнен меньше, чем на половину и понижает линию RTS, когда буфер заполнен больше, чем на три четверти. Если процедура установления связи разрешается, то это - ошибка для прикладной программы, которая корректирует линию, используя функцию EscapeCommFunction. |
RTS_CONTROL_TOGGLE | Определяет, что линия
RTS должна быть поднята, если байты
доступны для передачи. После того,
как все буферизированные байты
отправлены, линия RTS должна быть
опущена.
Windows Me/98/95: Это значение не поддерживается. |
Если этот член структуры - ИСТИНА (TRUE), драйвер завершает все операции чтения и записи с состоянием ошибки, если происходит ошибка. Драйвер не будет допускать любую дальнейшую коммуникационную операцию до тех пор, пока приложение не подтвердит ошибку при помощи вызова функции ClearCommError.
Зарезервированный; не используется.
Минимальное число байтов, которое допустимо в буфере ввода данных перед активизацией управления потоком данных, когда их задерживает отправитель.
Обратите внимание! на то, что то, что отправитель может передать символы после того, как стал активным сигнал управления потоком данных, так что это значение никогда не должно равняться нулю. Это предполагает, что или XON/XOFF, RTS, или DTR сигнал управления потоком данных устанавливается в членах структуры fInX, fRtsControl или fDtrControl. |
Максимальное число байтов, допустимое в буфере ввода данных перед активизацией управления потоком данных, чтобы дать возможность осуществить передачу отправителю. Это предполагает, что или XON/XOFF, RTS, или DTR сигнал управления потоком данных устанавливаются в членах структуры fInX, fRtsControl или fDtrControl. Максимальное допустимое число байтов рассчитывается, путем вычитания этого значения из размера буфера ввода данных, в байтах.
Используемая схема четности. Этот член структуры может быть одним из следующих значений.
Значение | Предназначение |
---|---|
EVENPARITY | Проверка по четности |
MARKPARITY | Проверка четности по метке |
NOPARITY | Без проверки четности |
ODDPARITY | Проверка по нечетности |
SPACEPARITY | Проверка четности по паузе |
Число используемых стоповых битов. Этот член структуры может быть одним из следующих значений.
Значение | Предназначение |
---|---|
ONESTOPBIT | 1 стоповый бит |
ONE5STOPBITS | 1.5 стоповых бита |
TWOSTOPBITS | 2 стоповых бита |
Зарезервирован; не используется.
Замечания
Смотри также
Обзор Коммуникационные ресурсы, Структуры, используемые коммуникационными ресурсами, BuildCommDCB, ClearCommError, EscapeCommFunction, GetCommState, SetCommState
Размещение и совместимость DCB |
||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Да |
е | Windows Me | Да |
н | Windows 98 | Да |
т | Windows 95 | Да |
С |
Windows 2003 Server |
Да |
е |
Windows 2000 Server |
Да |
р |
Windows NT Server |
Да |
в |
|
|
е |
|
|
р |
|
|
Используемая библиотека |
- |
|
Заголовочный файл |
||
- объявлено в |
Winbase.h |
|
- включено в |
Windows.h |
|
Unicode |
Реализуется как версии Unicode и ANSI. Обратите внимание!, что поддержка Windows Me/98/95 требует программы Microsoft Layer for Unicode. |
|
Замечания по платформе |
Не имеется |