// iscsimgt.h
typedef struct _MSiSCSI_HBAInformation {
ULONGLONG UniqueAdapterId;
BOOLEAN IntegratedTCPIP;
BOOLEAN RequiresBinaryIpAddresses;
UCHAR VersionMin;
UCHAR VersionMax;
BOOLEAN MultifunctionDevice;
BOOLEAN CacheValid;
ULONG NumberOfPorts;
ULONG Status;
ULONG FunctionalitySupported;
UCHAR GenerationalGuid[16];
ULONG MaxCDBLength;
BOOLEAN BiDiScsiCommands;
WCHAR VendorID[255 + 1];
WCHAR VendorModel[255 + 1];
WCHAR VendorVersion[255 + 1];
WCHAR FirmwareVersion[255 + 1];
WCHAR AsicVersion[255 + 1];
WCHAR OptionRomVersion[255 + 1];
WCHAR SerialNumber[255 + 1];
WCHAR DriverName[255 + 1];
} MSiSCSI_HBAInformation, *PMSiSCSI_HBAInformation;
View the official Windows Driver Kit DDI referenceNo description available.
The MSiSCSI_HBAInformation structure is used by storage miniport drivers to report information about the host bus adapters (HBAs) that they manage to the iSCSI initiator service.
UniqueAdapterIdA 64-bit integer that uniquely identifies an HBA initiator and a loaded instance of a storage miniport driver that manages the HBA. The initiator should use the address of the adapter extension or another address that the device driver owns to construct this identifier (ID).
IntegratedTCPIPA Boolean value that indicates if the Windows TCP/IP stack manages TCP/IP traffic for the HBA. If this member is TRUE, the Windows TCP/IP stack manages TCP/IP traffic for the HBA. If this member is FALSE, the Windows TCP/IP stack does not manage TCP/IP traffic for the HBA. A miniport driver for an adapter with its own TCP/IP stack should set this member to FALSE.
RequiresBinaryIpAddressesA Boolean value that indicates whether the miniport driver for the HBA instructs the iSCSI initiator service to perform DNS lookup and provide the HBA with binary IP addresses. If this member is TRUE, the miniport driver for the HBA instructs the iSCSI initiator service to perform DNS lookup and provide the HBA with binary IP addresses. For the iSCSI initiator service to honor this request, the HBA must be on the same network as the Windows TCP/IP stack. If RequiresBinaryIpAddresses is FALSE, the HBA and its miniport driver have direct access to DNS.
VersionMinThe earliest version of the iSCSI specification that the HBA and its miniport driver support.
VersionMaxThe most recent version of the iSCSI specification that the HBA and its miniport driver support.
MultifunctionDeviceA Boolean value that indicates whether the HBA is a multifunction device. If this member is TRUE, the HBA is a multifunction device, and it exposes a netcard interface. If this member FALSE, the HBA is not a multifunction device.
CacheValidA Boolean value that indicates if the adapter caches are value. If this member is TRUE, the adapter caches are valid. If this member is FALSE, the caches are invalid or the adapter does not cache data.
NumberOfPortsThe number of ports (or TCP/IP addresses on the adapter).
StatusThe current status of HBA. This member can hold any of the following values:
| Status | Meaning |
|---|---|
| ISCSI_HBA_STATUS_WORKING | The HBA is functioning normally. |
| ISCSI_HBA_STATUS_DEGRADED | The HBA is functioning in a degraded state of operation. |
| ISCSI_HBA_STATUS_CRITICAL | The HBA is in a critical state and might fail at any moment. |
| ISCSI_HBA_STATUS_FAILED | The HBA is not functioning at all. |
FunctionalitySupportedA bitwise OR of the flags that define the functionality that the HBA supports. The following table describes the possible flags.
| Flags | Meaning |
|---|---|
| ISCSI_HBA_PRESHARED_KEY_CACHE | The host bus adapter (HBA) supports an onboard cache for a preshared key. |
| ISCSI_HBA_ISCSI_AUTHENTICATION_CACHE | The HBA supports an onboard cache for CHAP secrets. |
| ISCSI_HBA_IPSEC_TUNNEL_MODE | The HBA supports IPsec tunnel mode. |
| ISCSI_HBA_CHAP_VIA_RADIUS | The HBA supports the Remote Authentication Dial-In User Service (RADIUS) attributes of the challenge handshake authentication protocol (CHAP). |
| ISCSI_HBA_ISNS_DISCOVERY | The HBA supports iSNS discovery. |
| ISCSI_HBA_SLP_DISCOVERY | The HBA supports SLP discovery. |
GenerationalGuidThe generational GUID. This GUID is the GUID value that the SetGenerationalGuid method in the MSiSCSI_Operations WMI Class last set.
MaxCDBLengthThe maximum CDB length, in bytes, that the HBA supports.
BiDiScsiCommandsA Boolean value that indicates if the HBA supports bidirectional SCSI commands. If this member is TRUE, the HBA supports bidirectional SCSI commands. If this member is FALSE, the HBA does not support bidirectional commands.
VendorIDThe manufacturer of the HBA.
VendorModelA string that specifies the model of the HBA. The manufacturer defines this string.
VendorVersionA string that specifies the version of the HBA. The manufacturer defines this string.
FirmwareVersionA string that specifies the version of the firmware in the HBA. The manufacturer defines this string.
AsicVersionA string that specifies the Asic version. The manufacturer defines this string.
OptionRomVersionA string that specifies the option ROM version of the HBA. The manufacturer defines this string.
SerialNumberA string that specifies the serial number of the HBA. The manufacturer defines this string.
DriverNameA string that specifies the name of the driver for the HBA.
You must implement this class.
MSiSCSI_HBAInformation WMI Class