Export (0) Print
Expand All

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.

Where Applicable

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.

Developer Audience

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.

Run-Time Requirements

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.

Design Guide

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.




Send comments about this topic to Microsoft

© 2014 Microsoft