Storage Manager Registry Settings (Compact 2013)

3/26/2014

Storage Manager uses the registry to retrieve information about the store, including information about individual storage profiles. Block drivers report their profiles to the application using them. For information about registry settings for device profiles, see Registry Settings for Storage Manager Profiles.

The HKEY_LOCAL_MACHINE\System\StorageManager registry key tells the OS to load the Storage Manager modules. The following table lists the critical subkeys for Storage Manager.

Subkey

Description

PNPUnloadDelay

Specifies the time delay, in milliseconds, between unmounting and detaching a device. Used during suspend/resume cycles where a block driver might unload and reload on resume.

The default value is 5000.

PnPWaitIoDelay

Specifies the amount of time waited before retrying an I/O operation on an unavailable device.

This subkey is not present in the default registry, but may be added by the OEM. The default value is three times the value of PNPUnloadDelay.

PNPThreadPrio256

Specifies the thread priority for the FSDMGR PNP thread, which detects storage events and mounts or unmounts devices in response to those events.

The value set in PnPUnloadDelay is the basis for PnPWaitIoDelay.

Whereas PnPUnloadDelay determines the wait time between detaching and unmounting, PnPWaitIoDelay determines the amount of time waited before retrying an I/O operation on an unavailable device. For example, if the system resumes while the Secure Digital (SD) memory card is disabled, and then a thread calls the ReadFile function on the unavailable SD card, the thread sleeps for the number of milliseconds specified in PnpWaitIoDelay before retrying.

The thread making the I/O request will wait for the number of milliseconds specified in PnpWaitIoDelay only if the block driver returns an error and sets the last error to one of the following values.

  • ERROR_DEVICE_REMOVED
  • ERROR_INVALID_HANDLE_STATE
  • ERROR_DEVICE_NOT_AVAILABLE

If the block driver sets any other error code for the last error, the thread does not wait.

By default, the value of PnPWaitIoDelay is three times the value of PnPUnloadDelay. You can override this default value by adding the PnPWaitIoDelay registry subkey, and setting the value to the desired time.

Important

If you intend to format a storage device, you need to add a registry key that specifies the type of partition that needs to be added for each storage profile. For details, see FormatStore.

To exclude files, directories, and registry entries from a clean boot, add them as entries in the following registry keys:

  • HKEY_LOCAL_MACHINE\System\Storage Manager\CleanBoot\FileExclusionList
  • HKEY_LOCAL_MACHINE\System\StorageManager\CleanBoot\RegistryExclusionList

See Also

Reference

Storage Manager Reference
FAT File System Registry Settings

Other Resources

Storage Management