Partager via


classe WMI MSiSCSI_HBAInformation

Le service initiateur iSCSI utilise la classe WMI MSiSCSI_HBAInformation pour communiquer avec votre adaptateur. Vous devez disposer d’un instance distinct de cette classe pour chaque instance du pilote miniport chargé.

Étant donné que cette classe est associée à un instance particulier d’un pilote miniport de stockage, le pilote miniport doit inscrire la classe en utilisant le nom de l’objet de périphérique physique (PDO) particulier que le pilote miniport gère.

La classe MSiSCSI_HBAInformation est définie comme suit dans Mgmt.mof.

class MSiSCSI_HBAInformation {
  [key] string  InstanceName;
  boolean  Active;
  [WmiDataId(1), DisplayName("Adapter Id") : amended,
    DisplayInHex, description("Id that is globally unique to
    each instance of each adapter. Using the address of the
    Adapter Extension is a good idea.") : amended]
    uint64  UniqueAdapterId;
  [WmiDataId(2), DisplayName("Integrated Networking") :
    amended, description("TRUE if TCP/IP traffic is
    integrated with the Windows networking TCP/IP stack via
    a software only initiator") : amended]
    boolean  IntegratedTCPIP;
  [WmiDataId(3), Displayname("Requires Binary Addresses") :
    amended, description("TRUE if HBA requires binary ip
    addresses. If unchecked then DNS must be available on
    HBA.") : amended]
    boolean  RequiresBinaryIpAddresses;
  [read, WmiDataId(4), DisplayName("Minimum iSCSI
    Version")
    : amended, description("Minimum version number of the
    iScsi spec supported by HBA") : amended]
    uint8  VersionMin;
  [read, WmiDataId(5), DisplayName("Maximum iSCSI
    Version")
    : amended, description("Maximum version number of the
    iSCSI spec supported by HBA") : amended]
    uint8  VersionMax;
  [read, WmiDataId(6), DisplayName("Multifunction Device") :
    amended, description("TRUE if this adapter is a
    multifunction device, that is it also exposes a netcard
    interface") : amended]
    boolean  MultifunctionDevice;
  [read, WmiDataId(7), DisplayName("Valid Cache") : amended,
    description("TRUE if the adapter caches are valid") :
    amended] boolean  CacheValid;
  [read, WmiDataId(8), Displayname("Number of ports") :
    amended, description("Number of ports attached to HBA")
    : amended] uint32  NumberOfPorts;
  [read, WmiDataId(9), Displayname("Status") : amended,
    description("Current status of HBA") : amended,
    Values{ "Working", "Degraded", "Critical", "Failed"},
    ValueMap{ "0",     "1",        "2",        "3" },
    cpp_quote(
    "#define ISCSI_HBA_STATUS_WORKING           0\n"
    "#define ISCSI_HBA_STATUS_DEGRADED          1\n"
    "#define ISCSI_HBA_STATUS_CRITICAL          2\n"
    "#define ISCSI_HBA_STATUS_FAILED            3\n"
    )] uint32  Status;
  [read, WmiDataId(10), DisplayName("Functionality
    Supported") : amended, Description("Bit flags that
    indicate various functionality supported") : amended,
    BitValueMap{"0x00000001",
                "0x00000002",
                "0x00000004",
                "0x00000008",
                "0x00000010",
                "0x00000020"
                },
    BitValues{"Preshared Key Cache",
              "iSCSI Authentication Cache",
              "Tunnel Mode",
              "CHAP authentication via RADIUS",
              "Discovery via iSNS",
              "Discovery via SLP"
              } : amended,
    cpp_quote(
    "\n"
    "//\n"
    "// Flags that define the functionality
    supported by the HBA\n"
    "//\n"
    "#define ISCSI_HBA_PRESHARED_KEY_CACHE  0x00000001\n"
    "#define ISCSI_HBA_ISCSI_AUTHENTICATION_CACHE
     x00000002\n"
    "#define ISCSI_HBA_IPSEC_TUNNEL_MODE    0x00000004\n"
    "#define ISCSI_HBA_CHAP_VIA_RADIUS      0x00000008\n"
    "#define ISCSI_HBA_ISNS_DISCOVERY       0x00000010\n"
    "#define ISCSI_HBA_SLP_DISCOVERY        0x00000020\n"
    "\n")]
    uint32  FunctionalitySupported;
  [read, WmiDataId(11), DisplayName("Generational Guid") :
    amended, Description("Generational Guid") : amended]
    uint8  GenerationalGuid[16];
  [read, WmiDataId(12), DisplayName("Max CDB Length") :
    amended, Description("Max CDB Length") : amended]
    uint32  MaxCDBLength;
  [read, WmiDataId(13), DisplayName("Bi-directional SCSI
    command supported") : amended, Description("Bi-
    directional SCSI command supported") : amended]
    boolean  BiDiScsiCommands;
  [read, WmiDataId(14), DisplayName("Manufacturer") :
    amended, description("A text string describing the
    manufacturer of HBA") : amended, MaxLen(255)]
    string  VendorID;
  [read, WmiDataId(15), Displayname("Model") : amended,
    description("A text string set by the manufacturer
    describing the model of HBA") : amended, MaxLen(255)]
    string  VendorModel;
  [read, WmiDataId(16), Displayname("Version") : amended,
    description("A text string set by the manufacturer
    describing the version of HBA") : amended, MaxLen(255)]
    string  VendorVersion;
  [read, WmiDataId(17), displayName("Firmware Version") :
    amended, description("A text string set by the
    manufacturer describing the firmware version of HBA") : amended, MaxLen(255)]
    string  FirmwareVersion;
  [read, WmiDataId(18), displayName("ASIC Version") :
    amended, description("A text string set by the
    manufacturer describing the firmware version of HBA") :
    amended, MaxLen(255)]
    string  AsicVersion;
  [read, WmiDataId(19), displayName("Option Rom Version") :
  amended, description("A text string set by the
  manufacturer describing the option rom version of HBA")
  : amended, MaxLen(255)]
  string  OptionRomVersion;
  [read, WmiDataId(20), Displayname("Serial Number") :
    amended, description("A text string set by the
    manufacturer describing the serial number of HBA") :
    amended, MaxLen(255)]
    string  SerialNumber;
  [read, WmiDataId(21), Displayname("Driver Name") :
    amended, description("A text string specifying the name
    of the driver for the HBA") : amended, MaxLen(255)]
    string  DriverName;
};

Lorsque la suite d’outils WMI compile la définition de classe précédente, elle produit la structure de données MSiSCSI_HBAInformation .