HBA API Test
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
Overview
The HBA API Compliance test verifies the Microsoft Windows Management Instrumentation (WMI) interfaces that are implemented by a host bus adapter (HBA) driver for support of the Storage Networking Industry Association's Common HBA API. To qualify for the Windows logo, Fibre Channel and SAS Storport miniport drivers and SCSI miniport drivers must support the HBA API.
The HBA API test requires a Fibre Channel switch between the HBA and the storage devices that you are testing. The Fibre Channel switch must support the GIEL and GANXT specifications. Most switches that have been made in the past 10 years support these specifications.
The topology can any kind of fabric configuration, as long as a switch is present. For example, the simplest configuration is the following: [TestMachine]<-->[FibreChannelSwitch]<-->[FibreChannelStorageArray]
Details
The test uses a Microsoft Visual Basic script to query the HBAs WMI interfaces. For specific test cases, see the Test Assertions section. You can view the source of the test by opening the script file with a text editor.
Run Time: 5 minutes
Log File: HbaApiTest.wtl, HbaApiTest.log.txt
System Restart Required: No
Test Category:
Supported operating systems for Logo or Signature testing:
Windows Vista
Windows Server 2003
Windows XP
Program:
Requirements
Software Requirements
The test tool requires the following software:
Hardware Requirements
The test tool requires the following hardware:
Running HBA API Test
The test first installs the schema for the HBA API on the computer and then starts the script.
Code Tour
File Manifest
File | Location |
---|---|
hbaapi.vbs |
...\tests\%ARCHITECTURE%\nttest\driverstest\storage\wdk |
hbaapi.bmf |
...\tests\%ARCHITECTURE%\nttest\driverstest\storage\wdk |
Test Assertions
0 HBA miniport must support HBA API WMI interfaces.
Test Assertion GUID: c0bcadba-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
1 The provider must provide one instance of MSFC_FibrePortHBAStatistics per local port.
Test Assertion GUID: c0bcadbb-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
2 The provider must provide one instance of MSFC_FibrePortHBAAttributes per local port with the appropriate subfields filled in.
Test Assertion GUID: c0bcadbc-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
3 The provider must provide one instance of MSFC_FCAdapterHBAAttributes per adapter with the appropriate subfields filled in.
Test Assertion GUID: c0bcadbd-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4 The provider must provide one instance of MSFC_HBAAdapterMethods per adapter.
Test Assertion GUID: c0bcadbe-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.1 The provider must implement one instance of ResetStatistics per local port under the class MSFC_FibrePortHBAMethods.
Test Assertion GUID: c0bcadbf-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.2 The provider must provide one instance of MSFC_HBAAdapterMethods per adapter.
Test Assertion GUID: c0bcadc0-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.3 The provider must provide one instance of MSFC_HBAFCPInfo per adapter.
Test Assertion GUID: c0bcadc1-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.4 The provider must provide one instance of MSFC_EventControl per adapter.
Test Assertion GUID: c0bcadc2-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.2.1 The method RefreshInformation must be implemented.
Test Assertion GUID: c0bcadc3-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.2.2 The methods GetDiscoveredPortAttributes and GetPortAttributesByWWN must be implemented.
Test Assertion GUID: c0bcadc4-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
Additional Information: A call to GetDiscoveredPortAttributes with port and discovered index zero should return success. The returned NodeWWN, PortWWN, and PortFcId port attribute fields must be valid. The NumberOfDiscoveredPorts field must be zero. A call to GetPortAttributesByWWN with the preceding port should match the attributes that are returned in the preceding situation.
4.2.3 The method SendCTPassThru must be implemented.
Test Assertion GUID: c0bcadc5-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.2.4 The method ScsiReadCapacity must be implemented.
Test Assertion GUID: c0bcadc6-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.2.5 Calling SendRNID with WWN of all zeros return invalid WWN.
Test Assertion GUID: c0bcadc7-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.2.6 Calling SendRPL with WWN and PortWWN from 4.2.2 returns success.
Test Assertion GUID: c0bcadc8-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.2.7 Calling GetFC4Statistics with local PortWWN for this instance the fc4Type of 8 (SCSI disk) returns success.
Test Assertion GUID: c0bcadc9-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.2.8 The methods Get/SetFC3MgmtInfo must be implemented.
Test Assertion GUID: c0bcadca-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.2.9 The method GetEventBuffer must be implemented.
Test Assertion GUID: c0bcadcb-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.3.1 Calling GetFcpTargetMapping with port zero should return success or more data with out count of zero and total of zero on success or greater than or equal to one on more data.
Test Assertion GUID: c0bcadcc-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.3.2 Calling GetFcpTargetMapping with port one should return success or more data with out count of zero or one and total of zero or one on success or greater than or equal to two on more data.
Test Assertion GUID: c0bcadcd-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.3.3 Calling GetFcpTargetMapping with port one should return success with out count, total count, and in count all matching.
Test Assertion GUID: c0bcadce-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.3.4 Calling GetBindingCapability should return a success or not supported.
Test Assertion GUID: c0bcadcf-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.3.5 Calling GetBindingSupport should return a success or not supported. On success the Supported flags returned must be a subset of the Capabilities flags returned in Test 4.3.4.
Test Assertion GUID: c0bcadd0-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.3.6 Calling SetBindingSupport should return a success or not supported.
Test Assertion GUID: c0bcadd1-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.3.7 Calling GetFcpPersistentBinding should return success or more data.
Test Assertion GUID: c0bcadd2-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.3.8 Calling GetFcpPersistentBinding2 should return success or more data.
Test Assertion GUID: c0bcadd3-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.4.1 Calling Add Target should return a success or not supported.
Test Assertion GUID: c0bcadd4-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.4.2 Calling Remove Target should return a success or not supported.
Test Assertion GUID: c0bcadd5-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.4.3 Calling Add Port should return a success or not supported.
Test Assertion GUID: c0bcadd6-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.4.4 Calling Remove Port should return a success or not supported.
Test Assertion GUID: c0bcadd7-c401-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.4.5 Calling Add Link should return a success or not supported.
Test Assertion GUID: 5e0f2d44-c412-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
4.4.6 Calling Remove Link should return a success or not supported.
Test Assertion GUID: 5e0f2d45-c412-11da-94f4-00123f3a6b60
Windows Logo Program: STORAGE-0002 Storage host controllers and adapters comply with industry standards and Windows requirements
Build date: 9/14/2012