Using Enhanced Storage

The following sections outline the steps required to accomplish common Enhanced Storage tasks:

Discover and Enumerate Enhanced Storage Devices, ACTs, and Silos

Before calling any of the following methods for device, ACT, and silo enumeration, an IEnumEnhancedStorageACT interface must be created. Once initialized, the following methods should be called in the following order for complete enumeration:

1 IEnumEnhancedStorageACT::GetACTs Enumerate all ACTs.
2 IEnhancedStorageACT::GetSilos Enumerate all silos associated with an ACT.
3 IEnhancedStorageSilo::GetInfo Retrieve descriptive information from a specific silo.


Invoke an Enhanced Storage Portable Device Command

Once enumerated, silo specific operations are supported through the IEnhancedStorageSilo interface. More specifically, this interface allows raw silo commands to be sent to a portable device. The following table outlines the steps required to configure and send commands after the desired silo has been discovered:

1 IEnhancedStorageSilo::GetPortableDevice Retrieve IPortableDevice interface.
2IPortableDeviceValuesSet command parameters.
3 IPortableDevice::SendCommandInvoke the Enhanced Storage Portable Device command.
4IPortableDeviceUse 'get' methods to check status and retrieve return values.


A complete Enhanced Storage enumeration tool is provided as a sample in the Windows 7 SDK. The EnStorEnumerator sample demonstrates how to discover an Enhanced Storage device and send Portable Device commands to the IEEE 1667 certificate and password silo drivers.

Related topics

About Enhanced Storage
Enhanced Storage Reference



Community Additions