Reputation: 90150
I just ran across an interesting MSDN article which leads me to believe that software flow control is not supported: http://msdn.microsoft.com/en-us/library/ff802693.aspx
To quote the relevant paragraphs:
fBinary: Specifies whether binary mode is enabled. The Windows API does not support nonbinary mode transfers, so this member should be TRUE. Trying to use FALSE will not work.
and
Because software flow control uses two special characters, XOFF and XON, binary transfers cannot use software flow control; the XON or XOFF character may appear in the binary data and would interfere with data transfer.
Does this mean that Windows no longer supports software flow control? Did it ever?
Upvotes: 1
Views: 1043
Reputation: 942109
I can see the possible confusion but no, that's not what it means. DCB.fBinary merely means that the driver itself doesn't alter the data that the application sends at all. *Binary transfers" talks about the kind of data that an application sends across the port. Say when you transfer a file. If you send, say, an EXE file then the file data is inevitably contain a byte value that matches XON or XOFF. That is not going to work well if the device uses Xon/Xoff handshaking, it is going to mis-interpret that byte as a handshake character.
There's no problem with Xon/Xoff handshaking, you just have to make sure that the data you send doesn't itself contain Ctrl+Q and Ctrl+S. Like text. As opposed to binary transfers.
Upvotes: 1