⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mgmt.mof

📁 WMI implementation in a iSCSI miniport can be tested using the iscsicli.exe application, device ma
💻 MOF
📖 第 1 页 / 共 4 页
字号:
    ] uint32 SessionCount;

    [WmiDataId(4),
     DisplayName("Load Balance Policy for each session") : amended,
     description("Load Balance Policy that is currently being used by iSCSI Initiator - one element for each session on the adapter") : amended,
     WmiSizeIs("SessionCount")
    ]
    ISCSI_Supported_LB_Policies LoadBalancePolicies[];
};

//
// Define the qualifiers used for the Type property of the
// MSiSCSI_Eventlog class. The value of the property corresponds
// to the eventlog type as specified in iscsilog.h
//
#define EVENTLOG_MESSAGE_QUALIFIERS \
     Values{ \
            "ISCSI_ERR_TDI_CONNECT_FAILED", \
            "ISCSI_ERR_INSUFFICIENT_SESSION_RESOURCES", \
            "ISCSI_ERR_INVALID_COMMAND_SEQUENCE_NUMBER", \
            "ISCSI_ERR_INVALID_BURST_LENGTH", \
            "ISCSI_ERR_SETUP_NETWORK_NODE", \
            "ISCSI_ERR_INSUFFICIENT_CONNECTION_RESOURCES", \
            "ISCSI_ERR_SEND_FAILED", \
            "ISCSI_ERR_ISCSI_REQUEST_TIMEOUT", \
            "ISCSI_ERR_SCSI_REQUEST_TIMEOUT", \
            "ISCSI_ERR_LOGIN_FAILED", \
            "ISCSI_ERR_LOGIN_PDU_ERROR", \
            "ISCSI_ERR_INVALID_LOGIN_REDIRECT_DATA", \
            "ISCSI_ERR_INVALID_AUTHMETHOD", \
            "ISCSI_ERR_INVALID_CHAP_ALGORITHM", \
            "ISCSI_ERR_INVALID_CHAP_CHALLENGE", \
            "ISCSI_ERR_INVALID_KEY_DURING_CHAP", \
            "ISCSI_ERR_INVALID_CHAP_RESPONSE", \
            "ISCSI_ERR_HEADER_DIGEST_NEEDED", \
            "ISCSI_ERR_HEADER_DATA_NEEDED", \
            "ISCSI_ERR_CONNECTION_LOST", \
            "ISCSI_ERR_INVALID_DATA_SEGMENT_LENGTH", \
            "ISCSI_ERR_HEADER_DIGEST_ERROR", \
            "ISCSI_ERR_ISCSI_PDU_ERROR", \
            "ISCSI_ERR_UNKNOWN_ISCSI_OPCODE", \
            "ISCSI_ERR_DATA_DIGEST_ERROR", \
            "ISCSI_ERR_EXCESS_DATA_SENT", \
            "ISCSI_ERR_UNEXPECTED_PDU", \
            "ISCSI_ERR_INVALID_RTT_PDU", \
            "ISCSI_ERR_ISCSI_PDU_REJECTED", \
            "ISCSI_ERR_INSUFFICIENT_WORKITEM_RESOURCES", \
            "ISCSI_ERR_INSUFFICIENT_REQ_PACKET_RESOURCES", \
            "ISCSI_WRN_RECEIVED_ASYNC_LOGOUT", \
            "ISCSI_ERR_INVALID_CHAP_CHALLENGE_SIZE", \
            "ISCSI_INFO_RECONNECTED_TO_TARGET", \
            "ISCSI_ERR_INVALID_TARGET_CHAP_SECRET", \
            "ISCSI_ERR_INVALID_INITIATOR_CHAP_SECRET", \
            "ISCSI_ERR_FIPS_NOT_AVAILABLE", \
            "ISCSI_ERR_CHAP_NOT_OFFERED", \
            "ISCSI_ERR_DEVICE_RESET", \
            "ISCSI_ERR_CHAP_OFFERED", \
            "ISCSI_ERR_AUTH_METHOD_NOT_OFFERED", \
            "ISCSI_ERR_INVALID_STATUS_SEQ_NUM" \
     }, \
     ValueMap{ \
            "0xC0000001", \
            "0xC0000002", \
            "0xC0000003", \
            "0xC0000004", \
            "0xC0000005", \
            "0xC0000006", \
            "0xC0000007", \
            "0xC0000008", \
            "0xC0000009", \
            "0xC000000A", \
            "0xC000000B", \
            "0xC000000C", \
            "0xC000000D", \
            "0xC000000E", \
            "0xC000000F", \
            "0xC0000010", \
            "0xC0000011", \
            "0xC0000012", \
            "0xC0000013", \
            "0xC0000014", \
            "0xC0000015", \
            "0xC0000016", \
            "0xC0000017", \
            "0xC0000018", \
            "0xC0000019", \
            "0xC000001A", \
            "0xC000001B", \
            "0xC000001C", \
            "0xC000001D", \
            "0xC000001E", \
            "0xC000001F", \
            "0x80000020", \
            "0xC0000021", \
            "0x40000022", \
            "0xC0000023", \
            "0xC0000024", \
            "0xC0000025", \
            "0xC0000026", \
            "0xC0000027", \
            "0xC0000028", \
            "0xC0000029", \
            "0xC000002A" \
     }, \
     Description("Type of eventlog message") : amended

#define ERROR_SEVERITY_QUALIFIERS \
     Values{"Recoverable", "Fatal", "Correctable"}, \
     ValueMap{ "0", "1", "2" }, \
     Description("Severity of the error record") : amended

[WMI,
 guid("{E6B8552B-7C62-4c6e-99EB-67CE6087894C}"),
 description("iSCSI Eventlog generation event") : amended,
 Dynamic,
 Provider("wmiprov"),
 cpp_quote(
"//\n"
"// Miniports can fire this event to cause eventlog entries to be\n"
"// included in the system eventlog. This is useful as the iscsilog.h\n"
"// header has many iSCSI specific eventlog messages that are useful for\n"
"// troubleshooting, but can't be fired directly by a miniport. By\n"
"// firing this WMI event appropriately a miniport can cause a useful\n"
"// eventlog entry to be included in the system eventlog\n"
"//\n")
]
class MSiSCSI_Eventlog : __ExtrinsicEvent
{
    [key] 
    string InstanceName;
 
    boolean Active;
    
    [WmiDataId(1),
     EVENTLOG_MESSAGE_QUALIFIERS
    ]
    uint32 Type;

    [WmiDataId(2),
     Description("If zero then this event is not logged to system eventlog") : amended
    ]
    uint32 LogToEventlog;

    [WmiDataId(3),
     Description("Size of Additional Data") : amended
    ]
    uint32 Size;

    [WmiDataId(4),
     WmiSizeIs("Size"),
     Description("Additional data to include in eventlog message, typically iSCSI Header") : amended
    ]
    uint8 AdditionalData[];    
};

[
    WMI,
    Description ("iSCSI Redirect Portal Info") : amended,
    guid ("{F6004CE6-9507-4d86-AE1E-E9D64F166F2F}")
]
class ISCSI_RedirectPortalInfo
{
    [read,
     WmiDataId(1),
     Description("A uniquely generated connection ID. Do not confuse this with CID."): amended,
     WmiVersion(1)
     ] uint64 UniqueConnectionId;

    [read,
     WmiDataId(2),
     Description("Original Target IP Address given in the login"): amended,
     WmiVersion(1)] ISCSI_IP_Address OriginalIPAddr;

    [read,
     WmiDataId(3),
     Description("Original Target portal's socket number given in the login"): amended,
     WmiVersion(1)] uint32 OriginalPort;

    [read,
     WmiDataId(4),
     Description("Redirected Target IP Address"): amended,
     WmiVersion(1)] ISCSI_IP_Address RedirectedIPAddr;

    [read,
     WmiDataId(5),
     Description("Redirected Target portal's socket number"): amended,
     WmiVersion(1)] uint32 RedirectedPort;

    [read,
     WmiDataId(6),
     Description("TRUE if login was redirected. RedirectedIPAddr and RedirectedPort are valid then."): amended,
     WmiVersion(1)] uint8 Redirected;

    [read,
     WmiDataId(7),
     Description("TRUE if the redirection is temporary. FALSE otherwise"): amended,
     WmiVersion(1)] uint8 TemporaryRedirect;
};

[
    WMI,
    Description ("iSCSI Redirect Session Info") : amended,
    guid ("{ED60BC3F-3D56-42f0-B4D0-81DD16E28515}")
]
class ISCSI_RedirectSessionInfo
{
    [read,
     WmiDataId(1),
     Description("A uniquely generated session ID, it is the same id returned by the LoginToTarget method.  Do not confuse this with ISID or SSID."): amended,
     WmiVersion(1)] uint64 UniqueSessionId;

    [read,
     WmiDataId(2),
     Description("Target portal group tag for this Session "): amended,
     WmiVersion(1)] uint32 TargetPortalGroupTag;

    [read,
     WmiDataId(3),
     DisplayName("Number of elements in RedirectPortalList array") : amended,
     cpp_quote("\n    // Number of elements in RedirectPortalList array\n"),
     Description("Number of elements in RedirectPortalList array") : amended,
     WmiVersion(1)
    ] uint32 ConnectionCount;

    [read,
     WmiDataId(4),
     DisplayName("Redirect Portal info for each connection") : amended,
     Description("Redirect portal info - one element for each connection in the session") : amended,
     WmiSizeIs("ConnectionCount"),
     WmiVersion(1)
    ] ISCSI_RedirectPortalInfo RedirectPortalList[];
};

[
    WMI, Dynamic, Provider("WMIProv"),
    Description ("iScsi Redirect Portal Information Class") : amended,
    guid ("{DAF7F63A-F9EA-4869-87E1-AE8A7C2261E2}"),
cpp_quote(
"//\n"
"//\n"
"// This class is recommended. \n"
"//\n"
"// This class exposes portal information. It provides the original and \n"
"// redirected target portal information for an iSCSI Connection.\n"
"//\n"
"// This class must be registered using PDO instance names with a single instance\n"
"//\n"
          )
]
class MSiSCSI_RedirectPortalInfoClass
{
    [read,key] String InstanceName;

    [read] boolean Active;

    [read,
     WmiDataId(1),
     DisplayName("Adapter Id") : amended,
     DisplayInHex,
     description("Id that is globally unique for all instances of iSCSI initiators.") : amended,
     WmiVersion(1)
    ]
    uint64 UniqueAdapterId;

    [read,
     WmiDataId(2),
     DisplayName("Number of session on the adapter : Number of elements in RedirectSessionInfo array") : amended,
     Description("Number of elements in RedirectSessionInfo array") : amended,
     WmiVersion(1)
    ] uint32 SessionCount;

    [read,
     WmiDataId(3),
     DisplayName("List Of ISCSI_RedirectSessionInfo ") : amended,
     Description("Variable length array of ISCSI_RedirectSessionInfo. SessionCount specifies the number of elements in the array. NOTE: this is a variable length array.") : amended,
     WmiSizeIs("SessionCount"),
     WmiVersion(1)
    ] ISCSI_RedirectSessionInfo RedirectSessionList[];
};

[
 WMI,
 guid("{B8D765F0-2D93-4da2-8186-A187622B4302}"),
 Dynamic,
 Provider("wmiprov"),
 cpp_quote(
"\n"           
"//\n"
"//\n"
"// This class is recommended.\n"
"//\n"         
"// iSCSI management applications rely upon this\n"
"// class in order to interface with the adapter. Implement one instance\n"
"// per miniport instance (adapter). \n"
"//\n"         
"// This class must be registered using PDO instance names with a single instance.\n"
"//\n"
          )        
]
class MSiSCSI_ManagementOperations
{
    //
    // This class must be registered using PDO instance names
    //
    [key]
    string InstanceName;
    
    boolean Active;

    [WmiMethodId(10),
     Implemented,
     Description("Perform an ICMP ping") : amended,
     cpp_quote(
"//\n"
"// This method is recommended.\n"
"//\n"             
"// Ping will perform ICMP ping requests to the destination address \n"
"// and return the number of ping responses received. This is only supported\n"
"// by some HBA, use the ping command for the software initiator.\n"
"//\n"
              )            
    ]
    void PingIPAddress(
                     [in,
                      Description("Number of requests to send") : amended
                     ] uint32 RequestCount,

                     [in,
                      Description("Number of bytes in each request") : amended
                     ] uint32 RequestSize,

                     [in,
                      Description("Number of ms to wait for response") : amended
                     ] uint32 Timeout,

                     [in,
                      description("IP address to ping") : amended
                     ] ISCSI_IP_Address Address,
            
                     [out,
                      ISCSI_STATUS_QUALIFIERS
                     ] ISCSI_STATUS Status,
 
                     [out,
                      Description("Number of responses received") : amended
                     ] uint32 ResponsesReceived

                    );

    
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -