Platform SDK: Files and I/O |
The BuildCommDCB function fills a specified DCB structure with values specified in a device-control string. The device-control string uses the syntax of the mode command.
BOOL BuildCommDCB( LPCTSTR lpDef, // device-control string LPDCB lpDCB // device-control block );
baud=1200 parity=N data=8 stop=1
The device name is ignored if it is included in the string, but it must specify a valid device, as follows:
COM1: baud=1200 parity=N data=8 stop=1
For further information on mode command syntax, refer to the end-user documentation for your operating system.
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
The BuildCommDCB function adjusts only those members of the DCB structure that are specifically affected by the lpDef parameter, with the following exceptions:
The BuildCommDCB function only fills in the members of the DCB structure. To apply these settings to a serial port, use the SetCommState function.
There are older and newer forms of the mode command syntax. The BuildCommDCB function supports both forms. However, you cannot mix the two forms together.
The newer form of the mode command syntax lets you explicitly set the values of the flow control members of the DCB structure. If you use an older form of the mode syntax, the BuildCommDCB function sets the flow control members of the DCB structure, as follows:
fInX, fOutX, fOutXDsrFlow, and fOutXCtsFlow are all set to FALSE
fDtrControl is set to DTR_CONTROL_ENABLE
fRtsControl is set to RTS_CONTROL_ENABLE
fInX and fOutX are both set to TRUE
fOutXDsrFlow and fOutXCtsFlow are both set to FALSE
fDtrControl is set to DTR_CONTROL_ENABLE
fRtsControl is set to RTS_CONTROL_ENABLE
fInX and fOutX are both set to FALSE
fOutXDsrFlow and fOutXCtsFlow are both set to TRUE
fDtrControl is set to DTR_CONTROL_HANDSHAKE
fRtsControl is set to RTS_CONTROL_HANDSHAKE
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.
Library: Use Kernel32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000.
Communications Overview, Communication Functions, DCB, SetCommState