Reading from a Serial Port
An application calls the ReadFile function to receive data from a device at the other end of a serial connection. ReadFile takes the same parameters as the WriteFile function.
Typically, a read operation is a separate thread that is always ready to process data arriving at a serial port. A communication event signals the read thread that there is data to read at a serial port. The thread can read blocks of data into a buffer — one ReadFile call for each byte — until all of the data is read. Then the read thread waits for another communication event. Typically, an application waits for an EV_RXCHAR, then reads (with a very short timeout) all data that is currently available.
For more information about communication events, see Using Communication Events.
To read from a serial port
- Pass the port handle to ReadFile in the hFile parameter. The CreateFile function returns this handle when an application opens a port.
- Specify a pointer to receive the data that is read in lpBuffer.
- Specify the number of characters to read in nNumberOfBytesToRead.
- Specify a pointer to the number of bytes actually read in lpNumberOfBytesRead.
- Be sure that lpOverlapped is NULL. Windows CE does not support overlapped I/O.
The following code example shows how to receive data using the ReadFile function.
BYTE Byte; DWORD dwBytesTransferred; ReadFile (hPort, // Port handle &Byte, // Pointer to data to read 1, // Number of bytes to read &dwBytesTransferred, // Pointer to number of bytes // read NULL // Must be NULL for Windows CE );
Last updated on Friday, April 02, 2004
© 1992-2000 Microsoft Corporation. All rights reserved.