Share via


Opening a Port

Other versions of this page are also available for the following:

Windows Mobile SupportedWindows Embedded CE Supported

8/28/2008

Call the CreateFile function to open a serial port.

Because hardware vendors and device driver developers can give any name to a port, an application should list the available ports and enable users to specify the port to open.

If a port does not exist, CreateFile returns ERROR_FILE_NOT_FOUND, and users should be notified the port is not available.

To open a serial port

  1. Insert a colon after the communication port pointed to with the first parameter, lpzPortName.

    For example, specify COM1: as the communication port.

  2. Specify zero in the dwShareMode parameter unless you are using a driver that supports multiple opens.

    Only one device can perform read/write or any operation that changes the behavior of the port. Other applications can perform operations such as port monitoring or controlling line status.

  3. Specify OPEN_EXISTING in the dwCreationDisposition parameter.

    This flag is required.

  4. Specify zero in the dwFlagsAndAttributes parameter.

    Windows Embedded CE supports only nonoverlapped I/O.

The following code example shows how to open a serial communications port.

// Open the serial port.
  hPort = CreateFile (lpszPortName, // Pointer to the name of the port
                      GENERIC_READ | GENERIC_WRITE,
                                    // Access (read-write) mode
                      0,            // Share mode
                      NULL,         // Pointer to the security attribute
                      OPEN_EXISTING,// How to open the serial port
                      0,            // Port attributes
                      NULL);        // Handle to port with attribute
                                    // to copy

Before writing to or reading from a port, configure the port.

When an application opens a port, it uses the default configuration settings, which might not be suitable for the device at the other end of the connection.

See Also

Concepts

Programming Serial Connections