COMMPROP结构由GetCommProperties功能用于返回有关给定通信驱动程序的信息。
typedef struct _COMMPROP { // CMMP
WORD wPacketLength; //数据包大小,以字节为单位
WORD wPacketVersion; //包版本
DWORD dwServiceMask; //服务实现
DWORD dwReserved1; //保留
DWORD dwMaxTxQueue; // max Tx bufsize,以字节为单位
DWORD dwMaxRxQueue; // max Rx bufsize,以字节为单位
DWORD dwMaxBaud; //最大波特率,以bps为单位
DWORD dwProvSubType; //具体的提供者类型
DWORD dwProvCapabilities; //支持的功能
DWORD dwSettableParams; //可变参数
DWORD dwSettableBaud; //允许的波特率
WORD wSettableData; //允许的字节大小
WORD wSettableStopParity; //停止位/奇偶校验允许
DWORD dwCurrentTxQueue; // Tx缓冲区大小,以字节为单位
DWORD dwCurrentRxQueue; // Rx缓冲区大小,以字节为单位
DWORD dwProvSpec1; //提供者特定的数据
DWORD dwProvSpec2; //提供者特定的数据
WCHAR wcProvChar[1]; //提供者特定的数据
} COMMPROP;
会员
wPacketLength
指定整个数据包的大小(以字节为单位),而不管请求的数据量。
wPacketVersion
指定结构的版本。
dwServiceMask
指定一个位掩码,指示该提供程序实现哪些服务。始终为包括调制解调器提供商在内的通信提供商指定SP_SERIALCOMM值。
DWORD EnumPrinterData(
Reserved; do not use.
dwMaxTxQueue
指定驱动程序内部输出缓冲区的最大大小(以字节为单位)。值为零表示串行提供程序不施加最大值。
dwMaxRxQueue
指定驱动程序内部输入缓冲区的最大大小(以字节为单位)。值为零表示串行提供程序不施加最大值。
dwMaxBaud
指定允许的最大允许波特率(以比特/秒为单位)。该成员可以是以下值之一:
值 | 含义 |
BAUD_075 | 75 bps |
BAUD_110 | 110 bps |
BAUD_134_5 | 134.5 bps |
BAUD_150 | 150 bps |
BAUD_300 | 300 bps |
BAUD_600 | 600 bps |
BAUD_1200 | 1200 bps |
BAUD_1800 | 1800 bps |
BAUD_2400 | 2400 bps |
BAUD_4800 | 4800 bps |
BAUD_7200 | 7200 bps |
BAUD_9600 | 9600 bps |
BAUD_14400 | 14400 bps |
BAUD_19200 | 19200 bps |
BAUD_38400 | 38400 bps |
BAUD_56K | 56K bps |
BAUD_57600 | 57600 bps |
BAUD_115200 | 115200 bps |
BAUD_128K | 128K bps |
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 Telnet协议 |
PST_UNSPECIFIED | 不明 |
PST_X25 | X.25标准 |
dwProvCapabilities
指定提供者提供的功能的位掩码。该成员可以是以下值之一:
值 | 含义 |
PCF_16BITMODE | 支持特殊的16位模式 |
PCF_DTRDSR | 支持DTR(数据终端就绪)/ DSR(数据集就绪) |
PCF_INTTIMEOUTS | 支持间隔超时 |
PCF_PARITY_CHECK | 支持奇偶校验 |
PCF_RLSD | 支持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 | RLSD(接收线信号检测) |
SP_STOPBITS | 停止位 |
dwSettableBaud
指定可以使用的波特率的位掩码。有关值,请参阅dwMaxBaud成员。
wSettableData
指定一个位掩码,指示可以设置的数据位数。该成员可以是以下值之一:
值 | 含义 |
DATABITS_5 | 5个数据位 |
DATABITS_6 | 6个数据位 |
DATABITS_7 | 7个数据位 |
DATABITS_8 | 8个数据位 |
DATABITS_16 | 16个数据位 |
DATABITS_16X | 通过串行硬件线路进行特殊的通路 |
wSettableStopParity
指定一个位掩码,指示可以选择的停止位和奇偶校验设置。该成员可以是以下值之一:
值 | 含义 |
STOPBITS_10 | 1停止位 |
STOPBITS_15 | 1.5停止位 |
STOPBITS_20 | 2个停止位 |
PARITY_NONE | 没有平价 |
PARITY_ODD | 奇数奇偶校验 |
PARITY_EVEN | 平等 |
PARITY_MARK | 马克平价 |
PARITY_SPACE | 空间平价 |
dwCurrentTxQueue
指定驱动程序内部输出缓冲区的大小(以字节为单位)。值为零表示该值不可用。
dwCurrentRxQueue
指定驱动程序内部输入缓冲区的大小(以字节为单位)。值为零表示该值不可用。
dwProvSpec1
指定提供者特定的数据。应用程序应忽略此成员,除非它们具有有关提供程序所需数据格式的详细信息。
在调用GetCommProperties函数以指示wPacketLength成员已经有效之前将此成员设置为COMMPROP_INITIALIZED。
dwProvSpec2
指定提供者特定的数据。应用程序应忽略此成员,除非它们具有有关提供程序所需数据格式的详细信息。
wcProvChar
指定提供者特定的数据。应用程序应忽略此成员,除非它们具有有关提供程序所需数据格式的详细信息。
备注
dwProvSpec1,dwProvSpec2和wcProvChar成员的内容取决于提供者子类型(由dwProvSubType成员指定)。
如果提供者子类型为PST_MODEM,则使用以下成员:
值 | 含义 |
dwProvSpec1 | 不曾用过。 |
dwProvSpec2 | 不曾用过。 |
wcProvChar | 包含MODEMDEVCAPS结构。 |
也可以看看