Platform SDK: Files and I/O

COMMPROP

The COMMPROP structure is used by the GetCommProperties function to return information about a given communications driver.

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; 

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.

Requirements

  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Winbase.h; include Windows.h.

See Also

Communications Overview, Communication Structures, GetCommProperties