Serial Device Control Requests

This section describes the device I/O control requests (IOCTLs) that are defined for serial controllers on hardware platforms that are running Windows. The Ntddser.h header file contains the definitions for these IOCTLs. The inbox serial driver, Serial.sys, and versions 1 and 2 of the serial framework extension (SerCx and SerCx2) support most of these IOCTLs. For more information, see Serial I/O Request Interface.

In this section

No other device I/O control codes are supported.

I/O Status Block

The Information member is set to a request-specific value or to zero.

The Status member is set to a request-specific status value or to one of the following generic status values.

Generic Status Values for Serial Device Control Requests


The request completed successfully.


The input or the output buffer is too small to hold the required information.


The client canceled the request. Additionally, for all control codes other than IOCTL_SERIAL_GET_COMMSTATUS, the serial controller driver cancels a request if a device error occurs and the serial controller driver is configured to cancel a request if there is a device error.


There was an unrecoverable hardware error, or a Plug and Play remove or surprise remove operation is in progress.


The serial device is not open.


The request parameters are not valid.


The serial controller driver queued the request for later processing.


An internal operation returned an NTSTATUS error status value.

If the serial controller driver does not support a device I/O control request, it sets the Information member to zero and the Status member to STATUS_INVALID_PARAMETER.



Send comments about this topic to Microsoft