Шаг 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.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 3.03.2001