General I/O Targets

General I/O targets do not support special, device-specific data formats, such as USB request blocks. Before drivers send data to a general I/O target, they must put data into a write buffer in a format that the I/O target can interpret. Likewise, when drivers read data from a general I/O target, the drivers must be able interpret the contents of data buffers that they receive from the target.

General I/O targets are either local or remote:

Local I/O Targets
Each framework-based function driver, filter driver, and miniport driver has a local I/O target for each of the driver's devices. A device's local I/O target is always the next-lower driver in the driver stack.

Remote I/O Targets
Remote I/O targets represent the top of a different driver stack or (rarely) a different driver in the current driver's stack.

This section includes: