ISCSI_SessionStaticInfo WMI Class

The ISCSI_SessionStaticInfo class is used to store the static characteristics of a session. This class is defined as follows in Mgmt.mof.

class ISCSI_SessionStaticInfo {
  [read, WmiDataId(1), Description("A uniquely generated
    session ID used only internally.  Do not confuse this
    with ISID or SSID"): amended, WmiVersion(1)] 
    uint64  UniqueSessionId;
  [read, WmiDataId(2), WmiVersion(1), 
    cpp_quote(
    "\n  //Text-based identifier for this Initiator that
    is globally unique.\n"
    "    //The Initiator Name is independent of the location
    of the initiator.\n"),
    MaxLen(MAX_ISCSI_NAME_LEN)] string InitiatoriSCSIName;
  [read, WmiDataId(3), WmiVersion(1), Description("Name of
    the target"): amended, MaxLen(MAX_ISCSI_NAME_LEN)] 
    String  TargetiSCSIName;
  [read, WmiDataId(4), Description("Target-defined portion
    of the iSCSI Session ID"): amended, WmiVersion(1)] 
    uint16  TSID;
  [read, WmiDataId(5), Description("Initiator-defined
    portion of the iSCSI Session ID"): amended,
    WmiVersion(1)] 
    uint8  ISID[6];
  [read, WmiDataId(6), 
    cpp_quote(
    "\n  // If set to true, indicates that the initiator
    must wait for an R2T before  \n"
    "    // sending data to the target.  If false, the
    initiator may send data immediately, within
    limits\n"
    "    // set by FirstBurstSize and the expected data
    transfer length of the request.\n"),WmiVersion(1)] 
    boolean  InitialR2t;
  [read, WmiDataId(7), 
    cpp_quote(
    "\n  // Indicates whether the initiator and target
    have agreed to support \n"
    "    // immediate commands on this session\n"),
    WmiVersion(1)] 
    boolean  ImmediateData;
  [read, WmiDataId(8), ISCSI_SESSION_TYPE_QUALIFIERS,
    cpp_quote("\n"
    " // Type of iSCSI session\n"
    " // normalSession - session is a normal iSCSI
    session\n"
    " // bootSession   - session is being used to boot
    an initiator\n"
    " // discoverySession -session is being used only for
    discovery\n"
    " // copySession   - session is being used by a
    copy manager\n"
    "\n"), WmiVersion(1)] 
    ISCSI_SESSION_TYPE  Type;
  [read, WmiDataId(9),
    ISCSI_HEADER_INTEGRITY_TYPE_QUALIFIERS,
    cpp_quote(
    "\n  // The name of the iSCSI header digest scheme in
    use within this session.\n"),
    WmiVersion(1), MaxLen(255)] 
    ISCSI_HEADER_INTEGRITY_TYPE  HeaderIntegrity;
  [read, WmiDataId(10),
    ISCSI_DATA_INTEGRITY_TYPE_QUALIFIERS,
    cpp_quote(
    "\n  // The name of the iSCSI data digest scheme in
    use within this session.\n"),
    WmiVersion(1), MaxLen(255)] 
    ISCSI_DATA_INTEGRITY_TYPE  DataIntegrity;
  [read, WmiDataId(11),
    cpp_quote(
    "\n  // False indicates that data PDU Sequences may\n"
    "    // be transferred in any order.  True indicates
    that data PDU \n"
    "    // Sequences must be transferred using continuously
    increasing offsets,\n"
    "    // except during error recovery.\n"),
    WmiVersion(1)] 
    boolean  DataSequenceInOrder;
  [read, WmiDataId(12), 
    cpp_quote(
    "\n  // False indicates that data PDUs within
    Sequences may be in any order.\n"
    "    // True indicates that data PDUs within sequences
    must be at continuously\n"
    "    // increasing addresses, with no gaps or overlay
    between PDUs.\n"), WmiVersion(1)] 
    boolean  DataPduInOrder;
  [read, WmiDataId(13),
    cpp_quote(
    "\n  // The level of error recovery negotiated between
    the initiator and the target. Higher numbers\n"
    "    // represent more detailed recovery schemes.\n"),
    WmiVersion(1)] 
    uint8  ErrorRecoveryLevel;
  [read, WmiDataId(14), 
    cpp_quote(
    "\n  // The maximum number of outstanding request-to
    -transmit (R2T) \n"
    "    // per task within this session\n"),WmiVersion(1)] 
    uint32  MaxOutstandingR2t;
  [read, WmiDataId(15), 
    cpp_quote(
    "\n  // The maximum data payload size supported for
    command \n"
    "    // or data PDUs within this session.\n"),
    WmiVersion(1)] 
    uint32  MaxRecvDataSegmentLength;
  [read, WmiDataId(16), 
    cpp_quote("\n  // The maximum length supported for
    unsolicited data  \n"
    "  // sent within this session.\n"), WmiVersion(1)] 
    uint32  FirstBurstLength;
  [read, WmiDataId(17), 
    cpp_quote(
    "\n  // The maximum number of bytes which can be sent
    within a \n"
    "    // single sequence of Data-In or Data-Out
    PDUs.\n"), WmiVersion(1)] 
    uint32  MaxBurstLength;
  [read, WmiDataId(18), ISCSI_AUTH_TYPES_QUALIFIERS] 
    ISCSI_AUTH_TYPES  AuthType;
  [read, WmiDataId(19), 
    cpp_quote(
    "\n  // The time, in seconds, for which the target will 
    keep connection and session state for possible,\n"
    "    // recovery after a connection termination or
    reset.\n"), WmiVersion(1)] 
    uint32  LogoutLoginMaxTime;
  [read, WmiDataId(20), 
    cpp_quote(
    "\n  // The maximum number of connections that 
    will be \n"
    "    // allowed within this session \n"), WmiVersion(1)] 
    uint32  MaxConnections;
  [read, WmiDataId(21), 
    cpp_quote(
    "\n  // The number of TCP connections that currently
    belong to this session  \n"), WmiVersion(1)] 
    uint16  ConnectionCount;
  [WmiDataId(22), read, DisplayName("List of Connections") :
    amended, Description("Variable length array of
    ISCSI_ConnectionStaticInfo.  ConnectionCount specifies
    the number of elements in the array") : amended,
    WmiSizeIs("ConnectionCount")]  
    ISCSI_ConnectionStaticInfo  ConnectionsList[];
};

When the WMI tool suite compiles the preceding class definition, it produces the ISCSI_SessionStaticInfo data structure.