SerCx I/O Request Interface

The serial framework extension (SerCx) implements an I/O request interface through which clients communicate with peripheral devices that are connected to the ports of a serial controller device (UART). SerCx manages the I/O queue for the serial controller and monitors this queue for I/O requests from clients. SerCx might do all the processing for some I/O requests, and do pre-processing of other I/O requests before it passes them to the serial controller driver. This driver is responsible for completing the I/O requests that it receives from SerCx.

In this section

TopicDescription

Connecting a UMDF Peripheral Device Driver to a Serial Port

A client of a serial controller is a UMDF or KMDF driver for a peripheral device that is connected to a port on the serial controller. To communicate with the peripheral device, the client opens a connection to the serial controller and sends I/O requests to the controller. A client that has a connection to a serial controller has exclusive access to the serial controller until the connection is closed.

Connecting a KMDF Peripheral Device Driver to a Serial Port

Starting with Windows 8, the serial framework extension (SerCx) works in conjunction with a serial controller driver to make a serial port on a serial controller (UART) available for use by a client. The client of a serial controller is a KMDF or UMDF driver for a peripheral device that is physically connected to a port on the serial controller. To communicate with the peripheral device, the client opens a logical connection to the serial controller, receives a handle to this connection, and uses this handle to send I/O requests to the controller. To avoid unnecessary overhead, the client should typically keep this handle open across device power transitions to and from the D0 state.

Read and Write Requests

The serial framework extension (SerCx) handles and completes all read and write (IRP_MJ_READ and IRP_MJ_WRITE) requests from clients. Although the serial controller driver does not directly handle read and write requests, it performs related receive and transmit operations to assist SerCx in handling these requests.

I/O Control Requests

With a few exceptions, the serial framework extension (SerCx) supports I/O control requests that use the IOCTL_SERIAL_XXX I/O control codes (IOCTLs) that are defined in the Ntddser.h header file. SerCx relies on the serial controller driver to handle some IOCTL_SERIAL_XXX requests, but SerCx must handle a few of these requests because they require hardware-specific processing. The serial controller driver performs related operations to assist SerCx in handling such requests.

 

 

 

Send comments about this topic to Microsoft

Build date: 4/3/2013

Show:
© 2014 Microsoft