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:

Method Description
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:

Operation Description
1 IEnhancedStorageSilo::GetPortableDevice Retrieve IPortableDevice interface.
2 IPortableDeviceValues Set command parameters.
3 IPortableDevice::SendCommand Invoke the Enhanced Storage Portable Device command.
4 IPortableDevice Use '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.

About Enhanced Storage

Enhanced Storage Reference