Шаг 91 - Структура COMMPROP.
Она большая:
typedef struct _COMMPROP
{
WORD wPacketLength;
WORD wPacketVersion;
DWORD dwServiceMask;
DWORD dwReserved1;
DWORD dwMaxTxQueue;
DWORD dwMaxRxQueue;
DWORD dwMaxBaud;
DWORD dwProvSubType;
DWORD dwProvCapabilities;
DWORD dwSettableParams;
DWORD dwSettableBaud;
WORD wSettableData;
WORD wSettableStopParity;
DWORD dwCurrentTxQueue;
DWORD dwCurrentRxQueue;
DWORD dwProvSpec1;
DWORD dwProvSpec2;
WCHAR wcProvChar[1];
} COMMPROP;
wPacketLength - Размер структуры в байтах.
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 - Допустимая скорость обмена.
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 - Размер внутренней очереди передачи драйвера в байтах.
DwCurrentRxQueue - Размер внутренней очереди приема драйвера в байтах.
dwProvSpec1 - Данные зависящие от устройства.
dwProvSpec2 - Данные зависят от устройства.
wcProvChar - Данные зависят от устройства.
Размер wPacketLength играет немного непривычную роль. С помощью него можно узнать есть ли дополнительная информация. То есть, если Вы помощью GetCommProperties() получили данные и wPacketLength > sizeof(COMMPROP), то нужно выделять дополнительную память.
Эта дополнительная информация может быть структурой MODEMDEVCAPS, если тип устройства модем и находиться она будет на месте wcProvChar.
Предыдущий Шаг | Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|