Simple Peripheral Bus (SPB) Drivers
This section describes how to write drivers for simple peripheral bus (SPB) controllers and for SPB-connected peripheral devices. The SPB category includes synchronous serial buses such as I2C and SPI. Driver support for SPBs is available starting with Windows 8.
An SPB peripheral device driver sends I/O requests to a peripheral device that is connected to an I2C, SPI, or similar bus. An SPB controller driver handles these I/O requests. Typically, these bus types provide low-pin-count connections to relatively low-speed peripheral devices on motherboards and in mobile devices, such as smart phones.
This section is intended for use by C/C++ programmers who are familiar with Windows Driver Frameworks (WDF). For more information about basic driver development, see Getting Started with Windows Drivers. For more information about WDF driver development, see Windows Driver Frameworks.
The driver for an SPB controller is a KMDF driver that statically links to the SPB framework extension (SpbCx) library, Spbcx.lib, and, at run time, communicates with the SPB framework extension module, Spbcx.sys. The driver for an SPB-connected peripheral device is a UMDF or KMDF driver that communicates with the device through an I/O request interface that is managed by Spbcx.sys on behalf of an SPB controller driver. Spbcx.sys is an inbox component starting with Windows 8. For instructions on building a UMDF or KMDF driver, see Building UMDF Drivers or Building and Loading a Framework-Based Driver.
Describes how to design a driver for an SPB controller or an SPB-connected peripheral device.
Describes the structures, methods, and I/O requests that are defined by Windows to support SPB controller drivers and SPB peripheral drivers.