Storage Query Property

Note  This content applies to the Windows Logo Kit (WLK). For the latest information using the new Windows Hardware Certification Kit (HCK), see Windows HCK User's Guide on the Windows Hardware Dev Center.

Type: Automated Test


The Storage Query Property test verifies a storage adapter driver's implementation of IOCTL_STORAGE_QUERY_PROPERTY for both the StorageDeviceProperty and StorageAdapterProperty.


The test is passed the instance path of the target test device. The test sends IOCTL_STORAGE_QUERY_PROPERTY(StorageAdapterProperty, PropertyExistsQuery), and the adapter must return success. The test then sends IOCTL_STORAGE_QUERY_PROEPRTY(StorageAdapterProperty, PropertyStandardQuery) and examines the fields of the returned STORAGE_ADAPTER_DESCRIPTOR. The same is done with a child device for StorageDeviceProperty, examining the STORAGE_DEVICE_DESCRIPTOR.

The bus type that is returned should match the bus type that is specified by the PCI class code, sub class code, and programming interface.

Run Time:
Log File:
System Restart Required: No
Test Category:
Supported operating systems for Logo or Signature testing:
  • Windows 7

  • Windows Server 2008 R2

  • Windows Vista

  • Windows Server 2003

  • Windows XP



Software Requirements

The test tool requires the following software:

  • Supported operating system (see list above)

  • Software components included with the device that is being tested

  • Microsoft .NET Framework 2.0 (Installed automatically)

Hardware Requirements

The test tool requires the following hardware:

  • Device to be tested

  • Computer that meets the minimum software requirements


The test tool runs on the following processor architectures:

  • x86

  • x64

  • Itanium

Code Tour

File Manifest







Test Assertions

Storage adapter must support IOCTL_STORAGE_QUERY_PROPERTY
Test Assertion GUID:
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
Additional Information: "Bus-attached controllers must implement the correct class/subclass code as specified in PCI 2.3, Appendix D. This applies to all bus types including, but not limited to, IDE, Fibre Channel, SCSI, and SATA-based devices. Any device which implements RAID functionality regardless of whether the RAID implementation is done in hardware, firmware or in the driver code, must implement the PCI RAID Class Code (01/04) and not use the interconnect class code (for example, a SATA RAID controller must implement the 01/04 class code and not the AHCI class code 01/06/01)."..."Implementation of the BusType registry DWORD to correctly set the interface type in accordance with the enumeration in NTDDSTOR.H (see the WDK). This value must be set in the miniport's INF under the service's Parameters key - there is no programmatic way to set it and you may not rely on coinstallers as they do not run under all scenarios."



Build date: 9/14/2012

Community Additions