Secure Digital (SD) Card Driver Registry Settings (Compact 2013)
3/26/2014
When a new secure digital (SD) card is inserted, the bus driver uses the registry keys under HKLM\Drivers\SDCARD\ClientDrivers\
to determine the correct client driver to load. The bus driver loads the client driver based on card type, secure digital input output (SDIO) class, or a custom identifier.
The client driver registry path must, at minimum, contain the following:
- A DLL value that contains the name of the driver DLL file.
- A Prefix value that contains the three letter prefix of the driver.
If the bus driver is unable to locate a custom driver for the card, it will search for a driver based on the card type or SDIO class.
SD Memory Client Driver
The following registry entry is necessary to load an SD memory client driver.
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class]
The following registry entry is necessary to support high capacity SD memory cards.
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class\High_Capacity]
"Dll"="SDMemory.dll"
"Prefix"="DSK"
"BlockTransferSize"=dword:40 ; send no more than 64 blocks of data per bus transfer
;"SingleBlockWrites"=dword:1 ; alternatively force the driver to use single block access
;"IdleTimeout"=dword:7D0 ; 2000 milliseconds
;"IdlePowerState"=dword:2 ; 0 == D0, 1 == D1, etc.
;"DisablePowerManagement"="" ; if value present, then disable (remove value to enable)
"Profile"="SDMemory"
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}",
"{8DD679CE-8AB4-43c8-A14A-EA4963FAA715}"
SD memory client drivers that are manageable by Power Manager must use this registry entry to advertise a PMCLASS_BLOCK_DEVICE interface. The following registry entry shows the required settings.
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDMemory]
"Dll"="SDMemory.dll"
"Prefix"="DSK"
"Profile"="SDMemory"
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}",
"{8DD679CE-8AB4-43c8-A14A-EA4963FAA715}" ; PMCLASS_BLOCK_DEVICE
The following registry entry can be used to override the default setting and load a custom client driver.
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Custom\CID-M-AA-PPPPP]
The M
value is the manufacturer ID, the AA
value is the two character OEM application ID, and the PPPPP
value is the five character product name.
SDIO Device
The following registry entry can be used to load an SDIO device.
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDIO_Class\<class interface code>]
The following registry entry can be used to load a custom SDIO device.
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Custom\MANF-<manufacturer ID>-CARDID-<card ID>-FUNC-<function number>]
The manufacturer ID and card ID values should be stored in hexadecimal. The function number can be set to any value from 1 to 7.