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

STATUS_SUCCESS

The request completed successfully.

STATUS_BUFFER_SIZE_TOO_SMALL

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

STATUS_CANCELLED

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.

STATUS_DELETE_PENDING

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

STATUS_INVALID_DEVICE_REQUEST

The serial device is not open.

STATUS_INVALID_PARAMETER

The request parameters are not valid.

STATUS_PENDING

The serial controller driver queued the request for later processing.

STATUS_Xxx

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

Show: