The COMMPROP structure is used by the GetCommProperties function to return information about a given communications driver.
typedef struct _COMMPROP { // cmmp
WORD wPacketLength; // packet size, in bytes
WORD wPacketVersion; // packet version
DWORD dwServiceMask; // services implemented
DWORD dwReserved1; // reserved
DWORD dwMaxTxQueue; // max Tx bufsize, in bytes
DWORD dwMaxRxQueue; // max Rx bufsize, in bytes
DWORD dwMaxBaud; // max baud rate, in bps
DWORD dwProvSubType; // specific provider type
DWORD dwProvCapabilities; // capabilities supported
DWORD dwSettableParams; // changable parameters
DWORD dwSettableBaud; // allowable baud rates
WORD wSettableData; // allowable byte sizes
WORD wSettableStopParity; // stop bits/parity allowed
DWORD dwCurrentTxQueue; // Tx buffer size, in bytes
DWORD dwCurrentRxQueue; // Rx buffer size, in bytes
DWORD dwProvSpec1; // provider-specific data
DWORD dwProvSpec2; // provider-specific data
WCHAR wcProvChar[1]; // provider-specific data
} COMMPROP;
Members
wPacketLength
Specifies the size, in bytes, of the entire data packet, regardless of the amount of data requested.
wPacketVersion
Specifies the version of the structure.
dwServiceMask
Specifies a bitmask indicating which services are implemented by this provider. The SP_SERIALCOMM value is always specified for communications providers, including modem providers.
dwReserved1
Reserved; do not use.
dwMaxTxQueue
Specifies the maximum size, in bytes, of the driver's internal output buffer. A value of zero indicates that no maximum value is imposed by the serial provider.
dwMaxRxQueue
Specifies the maximum size, in bytes, of the driver's internal input buffer. A value of zero indicates that no maximum value is imposed by the serial provider.
dwMaxBaud
Specifies the maximum allowable baud rate, in bits per second (bps). This member can be one of the following values:
Value | Meaning |
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 | Programmable baud rates available |
dwProvSubType
Specifies the specific communications provider type:
Value | Meaning |
PST_FAX | FAX device |
PST_LAT | LAT protocol |
PST_MODEM | Modem device |
PST_NETWORK_BRIDGE | Unspecified network bridge |
PST_PARALLELPORT | Parallel port |
PST_RS232 | RS-232 serial port |
PST_RS422 | RS-422 port |
PST_RS423 | RS-423 port |
PST_RS449 | RS-449 port |
PST_SCANNER | Scanner device |
PST_TCPIP_TELNET | TCP/IP TelnetŪ protocol |
PST_UNSPECIFIED | Unspecified |
PST_X25 | X.25 standards |
dwProvCapabilities
Specifies a bitmask indicating the capabilities offered by the provider. This member can be one of the following values:
Value | Meaning |
PCF_16BITMODE | Special 16-bit mode supported |
PCF_DTRDSR | DTR (data-terminal-ready)/DSR (data-set-ready) supported |
PCF_INTTIMEOUTS | Interval time-outs supported |
PCF_PARITY_CHECK | Parity checking supported |
PCF_RLSD | RLSD (receive-line-signal-detect) supported |
PCF_RTSCTS | RTS (request-to-send)/CTS (clear-to-send) supported |
PCF_SETXCHAR | Settable XON/XOFF supported |
PCF_SPECIALCHARS | Special character support provided |
PCF_TOTALTIMEOUTS | Total (elapsed) time-outs supported |
PCF_XONXOFF | XON/XOFF flow control supported |
dwSettableParams
Specifies a bitmask indicating the communications parameter that can be changed. This member can be one of the following values:
Value | Meaning |
SP_BAUD | Baud rate |
SP_DATABITS | Data bits |
SP_HANDSHAKING | Handshaking (flow control) |
SP_PARITY | Parity |
SP_PARITY_CHECK | Parity checking |
SP_RLSD | RLSD (receive-line-signal-detect) |
SP_STOPBITS | Stop bits |
dwSettableBaud
Specifies a bitmask indicating the baud rates that can be used. For values, see the dwMaxBaud member.
wSettableData
Specifies a bitmask indicating the number of data bits that can be set. This member can be one of the following values:
Value | Meaning |
DATABITS_5 | 5 data bits |
DATABITS_6 | 6 data bits |
DATABITS_7 | 7 data bits |
DATABITS_8 | 8 data bits |
DATABITS_16 | 16 data bits |
DATABITS_16X | Special wide path through serial hardware lines |
wSettableStopParity
Specifies a bitmask indicating the stop bit and parity settings that can be selected. This member can be one of the following values:
Value | Meaning |
STOPBITS_10 | 1 stop bit |
STOPBITS_15 | 1.5 stop bits |
STOPBITS_20 | 2 stop bits |
PARITY_NONE | No parity |
PARITY_ODD | Odd parity |
PARITY_EVEN | Even parity |
PARITY_MARK | Mark parity |
PARITY_SPACE | Space parity |
dwCurrentTxQueue
Specifies the size, in bytes, of the driver's internal output buffer. A value of zero indicates that the value is unavailable.
dwCurrentRxQueue
Specifies the size, in bytes, of the driver's internal input buffer. A value of zero indicates that the value is unavailable.
dwProvSpec1
Specifies provider-specific data. Applications should ignore this member unless they have detailed information about the format of the data required by the provider.
Set this member to COMMPROP_INITIALIZED before calling the GetCommProperties function to indicate that the wPacketLength member is already valid.
dwProvSpec2
Specifies provider-specific data. Applications should ignore this member unless they have detailed information about the format of the data required by the provider.
wcProvChar
Specifies provider-specific data. Applications should ignore this member unless they have detailed information about the format of the data required by the provider.
Remarks
The contents of the dwProvSpec1, dwProvSpec2, and wcProvChar members depend on the provider subtype (specified by the dwProvSubType member).
If the provider subtype is PST_MODEM, these members are used as follows:
Value | Meaning |
dwProvSpec1 | Not used. |
dwProvSpec2 | Not used. |
wcProvChar | Contains a MODEMDEVCAPS structure. |
See Also