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

📄 iscsihba.mof

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









































































































































































































































































































































































































































































































































































































































































































[
 WmiGenerateHeader(TRUE),
 WMI,
 DisplayName("IP Address") : amended,
 guid("{9AC5D4A1-1A1A-48ec-8E79-735806E9A1FA}"),
 cpp_quote("\n" "//***************************************************************************\n" "//\n" "//  iscsidef.h\n" "// \n" "//  Module: iScsi Discovery api\n" "//\n" "//  Purpose: Internal header defining interface between user mode discovery\n" "//           api dll and HBA driver miniport.\n" "//\n" "//  Copyright (c) 2001 Microsoft Corporation\n" "//\n" "//***************************************************************************\n\n"
"//\n" "// Definitions for iscsi security flags. These flags provide\n" "// information about the security expectations of a target portal and\n" "// are needed to insure a successful IKE/IPSEC negotiation. Note that\n" "// the flags and values are taken directly from the iSNS spec\n" "//\n" "\n" "    // 1 = Tunnel Mode Preferred; 0 = No Preference\n" "#define ISCSI_SECURITY_FLAG_TUNNEL_MODE_PREFERRED    0x00000040\n" "\n" "    // 1 = Transport Mode Preferred; 0 = No Preference\n" "#define ISCSI_SECURITY_FLAG_TRANSPORT_MODE_PREFERRED 0x00000020\n" "               \n" "    // 1 = PFS Enabled; 0 = PFS Disabled\n" "#define ISCSI_SECURITY_FLAG_PFS_ENABLED              0x00000010\n" "               \n" "    // 1 = Aggressive Mode Enabled; 0 = Disabled\n" "#define ISCSI_SECURITY_FLAG_AGGRESSIVE_MODE_ENABLED  0x00000008\n" "               \n" "    // 1 = Main Mode Enabled; 0 = MM Disabled\n" "#define ISCSI_SECURITY_FLAG_MAIN_MODE_ENABLED        0x00000004\n" "               \n" "    // 1 = IKE/IPSec Enabled; 0 = IKE/IPSec Disabled\n" "#define ISCSI_SECURITY_FLAG_IKE_IPSEC_ENABLED        0x00000002\n" "\n" "    // If set then all other ISCSI_SECURITY_FLAGS are valid                \n" "#define ISCSI_SECURITY_FLAG_VALID                    0x00000001                \n" "\n"
"\n"
"//\n"                              
"// Types of addresses that can be passed by management app to driver\n"
"//\n"                              
"typedef enum {\n"
"           // Text based host name. This needs to be resolved to binary form\n"
"    ISCSI_IP_ADDRESS_TEXT = 0,\n"
"           // Binary IPv4 address\n"
"    ISCSI_IP_ADDRESS_IPV4 = 1,\n"
"           // Binary IPv6 address\n"
"    ISCSI_IP_ADDRESS_IPV6 = 2,\n"                              
"           // Empty address\n"
"    ISCSI_IP_ADDRESS_EMPTY = 3\n"                              
"} ISCSIIPADDRESSTYPE, *PISCSIIPADDRESSTYPE;\n"
                               )
]
class ISCSI_IP_Address
{
    [WmiDataId(1),
     read, write,
     DisplayName("Address Format") : amended,
     description("Type of address specified. It can be text: a DNS or dotted address or it can be a binary ipv4 or ipv6 address") : amended,
     Values{ "Text Address",
             "IpV4 Address",
             "IpV6 Address",
             "Empty Address"},
     ValueMap{ "0",
               "1",
               "2",
               "3"}
    ]

        uint32 Type;

    [WmiDataId(2),
     read, write,
     DisplayInHex,
     DisplayName("IPV4 Address"): amended,
     description("If IPV4 Address is specified as the Address Format then this conains the binary IPv4 ip address") : amended
    ]
    uint32 IpV4Address;

    [WmiDataId(3),
     DisplayName("IPV6 Address"): amended,
     read, write,
     description("If IPV6 Address is specified as the Address Format then this conains the binary IPv6 ip address") : amended
    ]
    uint8 IpV6Address[16];

    [WmiDataId(4),
     read, write,
     DisplayName("IPV6 Flow Information") : amended,
     description("IPV6 flow information") : amended
    ]
    uint32 IpV6FlowInfo;

    [WmiDataId(5),
     read, write,
     DisplayName("IPV6 Scope Id") : amended,
     description("IPV6 scope id") : amended
    ]
    uint32 IpV6ScopeId;

    [WmiDataId(6),
     read, write,
     DisplayName("Text Address") : amended,
     description("Text address, either a DNS address or dotted address") : amended,
     MaxLen(256)
    ]
    string TextAddress;
};

             
[
 WmiGenerateHeader(TRUE),
 WMI,
 guid("{DE5051A7-BF27-48f1-BD12-07CADE92AEFD}"),
 description("ISCSI target portal") : amended
]
class ISCSI_TargetPortal
{
    [WmiDataId(1),
     Description("Network Address") : amended
    ]
    ISCSI_IP_Address Address;

    [WmiDataId(2),
     Description("Reserved") : amended
    ]
    uint32 Reserved;

    [WmiDataId(3),
     Description("Socket number") : amended
    ]
    uint16 Socket;
};

[WMI,
 WmiGenerateHeader(TRUE),
 guid("{3081F2A5-95F5-4d2a-813D-EE59864C6FC5}"),
 description("iSCSI target portal group") : amended
]
class ISCSI_TargetPortalGroup
{
    [WmiDataId(1),
     description("Number of portals in group") : amended
    ]
    uint32 PortalCount;

    [WmiDataId(2),
     WmiSizeIs("PortalCount"),
     description("Target portals in group") : amended
    ]
    ISCSI_TargetPortal Portals[];
};


[WMI,
 WmiGenerateHeader(TRUE),
 guid("{3011A7BD-0491-478e-8C79-3C76424D05E2}"),
 cpp_quote("#ifndef _ISCSI_ISCSIDSC_\n" "typedef enum\n" "{\n" "   ISCSI_DIGEST_TYPE_NONE = 0,\n" "   ISCSI_DIGEST_TYPE_CRC32C = 1\n" "} ISCSI_DIGEST_TYPES, *PISCSI_DIGEST_TYPES;\n" "\n" "typedef enum\n" "{\n" "   ISCSI_NO_AUTH_TYPE = 0,\n" "   ISCSI_CHAP_AUTH_TYPE = 1,\n" "   ISCSI_MUTUAL_CHAP_AUTH_TYPE = 2 \n" "} ISCSI_AUTH_TYPES, *PISCSI_AUTH_TYPES;\n" "#endif\n"),
 Description("These are options that can be used for logging into a target")
]
class ISCSI_LoginOptions
{
    [WmiDataId(1),
     description("Bit flags that specify which login option values are specified") : amended,
     BitMap{ "0x00000001", "0x00000002", "0x00000004", "0x00000008", "0x00000010" }, BitValues{"HeaderDigest", "DataDigest", "MaxConnections", "DefaultTime2Wait", "DefaultTime2Retain" } : amended,
     cpp_quote("//\n" "// Bit flags for InformationSpecifies\n" "//\n" "#define ISCSI_LOGIN_OPTIONS_HEADER_DIGEST               0x00000001\n" "#define ISCSI_LOGIN_OPTIONS_DATA_DIGEST                 0x00000002\n" "#define ISCSI_LOGIN_OPTIONS_MAXIMUM_CONNECTIONS         0x00000004\n" "#define ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_WAIT         0x00000008\n" "#define ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_RETAIN       0x00000010\n" "#define ISCSI_LOGIN_OPTIONS_USERNAME                    0x00000020\n" "#define ISCSI_LOGIN_OPTIONS_PASSWORD                    0x00000040\n" "#define ISCSI_LOGIN_OPTIONS_AUTH_TYPE                   0x00000080\n" "\n")
    ] uint32 InformationSpecified;
    
    [WmiDataId(2),
     ValueMap{ "0",
               "1" },
     Values{ "None", "CRC32C" },
     description("cyclic integrity checksums that can be negotiated for the header digests") : amended
    ] uint32 HeaderDigest;
    
    [WmiDataId(3),
     ValueMap{ "0",
               "1" },
     Values{ "None", "CRC32C" },
     description("cyclic integrity checksums that can be negotiated for the header digests") : amended
    ] uint32 DataDigest;

    [WmiDataId(4),
     Description("Maximum number of connections, 0 implies no limit") : amended
    ]
    uint32 MaximumConnections;

    [WmiDataId(5),
     Description("The initiator and target negotiate the minimum time, in seconds, to wait before attempting an explicit/implicit logout or active task reassignment after an unexpected connection termination or a connection reset.") : amended
    ]
    uint32 DefaultTime2Wait;

    [WmiDataId(6),
     Description(" The initiator and target negotiate the maximum time, in seconds after an initial wait (Time2Wait), before which an explicit/implicit connection Logout or active task reassignment is still possible after an unexpected connection termination or a connection reset.") : amended
    ]
    uint32 DefaultTime2Retain;

    [WmiDataId(7),
     Description("Flags that affect how login occurs") : amended,
     cpp_quote("//\n" "// bit flags for ISCSI_LOGIN_FLAGS\n" "//\n" "#ifndef _ISCSI_ISCSIDSC_\n" "#define ISCSI_LOGIN_FLAGS ULONG\n\n" "#define ISCSI_LOGIN_FLAG_REQUIRE_IPSEC                0x00000001\n" "#define ISCSI_LOGIN_FLAG_MULTIPATH_ENABLED            0x00000002\n" "#define ISCSI_LOGIN_FLAG_RESERVED1                    0x00000004\n" "#define ISCSI_LOGIN_FLAG_ALLOW_PORTAL_HOPPING         0x00000008\n" "#define ISCSI_LOGIN_FLAG_USE_RADIUS_RESPONSE          0x00000010\n" "#define ISCSI_LOGIN_FLAG_USE_RADIUS_VERIFICATION          0x00000020\n" "\n" "#endif\n"),
     BitValues{"Require IPSEC", "Multipath Enabled", "Reserved1", "Allow Portal Hopping"}, BitMap{ "0x00000001", "0x00000002", "0x00000004", "0x00000008" }
    ]
    uint32 LoginFlags;

    [WmiDataId(8),
     Description("Authentication method specified for login") : amended,
     Values{"No Authentication", "CHAP", "Mutual CHAP" } : amended, ValueMap{"0", "1", "2"}
    ]
    uint32 AuthType;
};


[WMI,
 WmiGenerateHeader(TRUE),
 guid("{994FF278-3512-4d9b-A241-54CEF45F5A25}"),
 description("This class describes a mapping from a an OS LUN to target device LUN") : amended
]
class ISCSI_LUNList
{
    [WmiDataId(1),
     description("Target LUN") : amended
    ]
    uint64 TargetLUN;
    
    [WmiDataId(2),
     description("OS Scsi bus number target is mapped to") : amended
    ]
    uint32 OSLUN;
    
    [WmiDataId(3),
     description("Reserved") : amended
    ]
    uint32 Reserved;    
};


[WMI,
 WmiGenerateHeader(TRUE),
 guid("{21A28820-3C4C-4944-AC4F-DA7FEBA21168}"),
 description("This class describes a mapping from a target LUN to a Windows port driver LUN") : amended
]
class ISCSI_TargetMapping
{
    [WmiDataId(1),
     description("OS Scsi bus number target is mapped to. If 0xffffffff then any value can be picked by the miniport.") : amended
    ]
    uint32 OSBus;
    
    [WmiDataId(2),
     description("OS Scsi Target number target is mapped to. If 0xffffffff then any value can be picked by the miniport.") : amended
    ]
    uint32 OSTarget;
    
    [WmiDataId(3),
     Description("Unique Session ID for the target mapping") : amended
    ] uint64 UniqueSessionId;
    
    [WmiDataId(4),
     description("Count of LUNs mapped for this target") : amended
    ]
    uint32 LUNCount;

    [WmiDataId(5),
     MaxLen(223),
     description("Target Name") : amended
    ]
    string TargetName;

    [WmiDataId(6),
     Description("TRUE if session created from a persistent login") : amended
    ]
    boolean FromPersistentLogin;
    
    [WmiDataId(7),
     description("Reserved") : amended
    ]
    uint64 Reserved;
        
    [WmiDataId(8),
     WmiSizeIs("LunCount"),
     description("List of LUNs mapped for this target") : amended
    ]
    ISCSI_LUNList LUNList[];    
};





























                                            
























































































































































































































































































                                        





































































































































    
































































    


    

                
    

                
    

                
    

                
    


    






















                                



























































































































































                   
    





































































































































































































































































































































































































































































































⌨️ 快捷键说明

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