unsigned char c;ReadFile(handle, &c, 1, &n_bytes_read, NULL);// read 1 character at a time
One other interesting note about software flow control is that reception of XON and XOFF characters causes pending read operations to complete with zero bytes read. The XON and XOFF characters cannot be read by the application, since they are not placed in the input buffer.
fNull: Specifies whether null bytes are discarded. If this member is TRUE, null bytes are discarded when received.
See: http://msdn.microsoft.com/en-us/library/aa450503.aspx (Configuring a Serial Port )