SD Bus Driver Design Guide
Opening, Initializing and Closing an SD Card Bus Interface
Secure Digital Requests That Use Direct I/O
Secure Digital Requests That Use Extended I/O
Managing SD Cards in User-Mode Applications
Restrictions on SD Card Drivers
SD Card Hardware Identifiers
For information about Secure Digital (SD) device identification strings, see Identifiers for Secure Digital (SD) Devices.
Restrictions on SD Card Drivers
Certain restrictions apply to Secure Digital (SD) card device drivers that manage a function on an SD combo or multifunction card. The driver stacks for the various card functions on a multifunction card must operate independently of one another. To ensure this independence, the bus driver rejects the following operations:
SD commands that change the device state, such as SELECT_CARD.
SD I/O commands that specify function zero but are outside the range of the address specified in the function basic register (FBR).
SD I/O commands that specify a function number of a different device stack.
SD device drivers can manage the host controller's common register set and the state of the device by calling SdBusSubmitRequest with function requests of type SDRF_GET_PROPERTY and SDRF_SET_PROPERTY. For a description of these function request types, see SD_REQUEST_FUNCTION.
SD Bus Sample (Windows 8.1)
This sample (no longer supported) is a functional Secure Digital (SD) IO driver. The driver is written using the Kernel Mode Driver Framework. It is a driver for a generic mars development board that implements the SDIO protocol without additional functionality.
Download the Storage SDIO driver sample from GitHub.