DWORD dwProvSpec1; // provider-specific data
DWORD dwProvSpec2; // provider-specific data
WCHAR wcProvChar[1]; // provider-specific data
} COMMPROP;
Поля этой структуры описывают все возможности драйвера. Вы не можете выйти за пределы этих возможностей. Вот какое значение имеют поля:
wPacketLength
Задает размер, в байтах, структуры COMMPROP.
wPacketVersion
Номер версии структуры.
dwServiceMask
Битовая маска. Для коммуникационных устройств всегда SP_SERIALCOMM, включая модемы.
dwReserved1
Зарезервировано и не используется.
dwMaxTxQueue
Максимальный размер, в байтах, внутреннего буфера передачи драйвера. Нулевое значение свидетельствует об отсутствии ограничения.
dwMaxRxQueue
Максимальный размер, в байтах, внутреннего буфера приема драйвера. Нулевое значение свидетельствует об отсутствии ограничения.
dwMaxBaud
Максимально допустимая скорость обмена, в битах в секунду (бпс). Возможны следующие значения данного поля:
| BAUD_075 |
75 бпс. |
| BAUD_110 |
110 бпс. |
| BAUD_134_5 |
134.5 бпс. |
| BAUD_150 |
150 бпс. |
| BAUD_300 |
300 бпс. |
| BAUD_600 |
600 бпс. |
| BAUD_1200 |
1200 бпс. |
| BAUD_1800 |
1800 бпс. |
| BAUD_2400 |
2400 бпс. |
| BAUD_4800 |
4800 бпс |
| BAUD_7200 |
7200 бпс. |
| BAUD_9600 |
9600 бпс. |
| BAUD_14400 |
14400 бпс. |
| BAUD_19200 |
19200 бпс. |
| BAUD_38400 |
38400 бпс. |
| BAUD_56K |
56K бпс. |
| BAUD_57600 |
57600 бпс. |
| BAUD_115200 |
115200 бпс. |
| BAUD_128K |
128K бпс. |
| BAUD_USER |
Допускается программирование скорости обмена |
dwProvSubType
Тип коммуникационного порта. Возможны следующие значения данного поля:
| PST_FAX |
Факс |
| PST_LAT |
LAT протокол |
| PST_MODEM |
Модем |
| PST_NETWORK_BRIDGE |
Сетевой мост |
| PST_PARALLELPORT |
Параллельный порт |
| PST_RS232 |
Последовательный порт RS-232 |
| PST_RS422 |
Порт RS-422 |
| PST_RS423 |
Порт RS-423 |
| PST_RS449 |
Порт RS-449 |
| PST_SCANNER |
Сканнер |
| PST_TCPIP_TELNET |
Протокол TCP/IP TelnetR |
| PST_UNSPECIFIED |
Неизвестное устройство |
| PST_X25 |
Устройство стандарта X.25 |
dwProvCapabilities
Битовая маска. Определяет возможности предоставляемые устройством. Возможны следующие значения:
| PCF_16BITMODE |
Поддерживается специальный 16-битный режим |
| PCF_DTRDSR |
Поддерживаются сигналы DTR/DSR. |
| PCF_INTTIMEOUTS |
Поддерживается межсимвольный тайм-аут. |
| PCF_PARITY_CHECK |
Поддерживается контроль четности. |
| PCF_RLSD |
Поддерживается определение наличия сигнала в приемной линии. |
| PCF_RTSCTS |
Поддерживаются сигналы RTS/CTS. |
| PCF_SETXCHAR |
Поддерживаются задаваемые символы XON/XOFF. |
| PCF_SPECIALCHARS |
Поддерживаются спецсимволы. |
| PCF_TOTALTIMEOUTS |
Поддерживаются общие тайм-ауты (ожидаемое время). |
| PCF_XONXOFF |
Поддерживается программное (XON/XOFF) управление потоком. |
dwSettableParams
Битовая маска. Определяет допустимые для изменения параметры. Возможны следующие значения:
| SP_BAUD |
Скорость обмена. |
| SP_DATABITS |
Бит в символе. |
| SP_HANDSHAKING |
Рукопожатие (управление потоком). |
| SP_PARITY |
Четность. |
| SP_PARITY_CHECK |
Контроль четности. |
| SP_RLSD |
Детектирование наличия сигнала в приемной линии. |
| SP_STOPBITS |
Количество стоповых бит. |
dwSettableBaud
Битовая маска. Определяет допустимый набор скоростей обмена. Допустимые для данного поля значения указаны в описании поля dwMaxBaud.
wSettableData
Битовая маска. Определяет допустимые длины символов, в битах. Возможны следующие значения:
| DATABITS_5 |
5 бит |
| DATABITS_6 |
6 бит |
| DATABITS_7 |
7 бит |
| DATABITS_8 |
8 бит |
| DATABITS_16 |
16 бит |
| DATABITS_16Х |
Специальный широкий канал через аппаратную последовательную линию. |
wSettableStopParity
Битовая маска. Определяет допустимое количество стоповых бит и режимы четности. Возможны следующие значения:
| STOPBITS_10 |
Один стоповый бит |
| STOPBITS_15 |
Полтора стоповыx бита |
| STOPBITS_20 |
Два стоповых бита |
| PARITY_NONE |
Без четности |
| PARITY_ODD |
Дополнение до нечетности |
| PARITY_EVEN |
Дополнение до четности |
| PARITY_MARK |
Бит четности всегда "1" |
| PARITY_SPACE |
Бит четности всегда "0" |
dwCurrentTxQueue
Определяет текущий размер, в байтах, внутренней очереди передачи драйвера. Нулевое значение свидетельствует о недоступности данного параметра.
Читать дальше