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

📄 common.mof

📁 WMI implementation in a iSCSI miniport can be tested using the iscsicli.exe application, device ma
💻 MOF
📖 第 1 页 / 共 3 页
字号:
     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(MAX_ISCSI_TEXT_ADDRESS_LEN)
    ]
    string TextAddress;
};

             
[
 WmiGenerateHeader(GENERATE_HEADER),
 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(GENERATE_HEADER),
 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(GENERATE_HEADER),
 guid("{3011A7BD-0491-478e-8C79-3C76424D05E2}"),
 cpp_quote(ISCSI_DIGEST_CPPQUOTE),
 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,
     ISCSI_LOGIN_OPTIONS_INFO_QUALIFIERS,
     cpp_quote(ISCSI_LOGIN_OPTIONS_INFO_CPPQUOTE)
    ] ISCSI_LOGIN_OPTIONS_INFO_SPECIFIED InformationSpecified;
    
    [WmiDataId(2),
     ValueMap{ ISCSI_DIGEST_TYPE_NONE,
               ISCSI_DIGEST_TYPE_CRC32C },
     Values{ "None", "CRC32C" },
     description("cyclic integrity checksums that can be negotiated for the header digests") : amended
    ] uint32 HeaderDigest;
    
    [WmiDataId(3),
     ValueMap{ ISCSI_DIGEST_TYPE_NONE,
               ISCSI_DIGEST_TYPE_CRC32C },
     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(ISCSI_LOGIN_FLAGS_CPPQUOTE),
     ISCSI_LOGIN_FLAGS_QUALIFIERS
    ]
    ISCSI_LOGIN_FLAGS LoginFlags;

    [WmiDataId(8),
     Description("Authentication method specified for login") : amended,
     ISCSI_AUTH_TYPES_QUALIFIERS
    ]
    ISCSI_AUTH_TYPES AuthType;
};


[WMI,
 WmiGenerateHeader(GENERATE_HEADER),
 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(GENERATE_HEADER),
 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(MAX_ISCSI_NAME_LEN),
     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[];    
};


//
// Perfmon counter types
//
//
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//
//  PERF_COUNTER_DEFINITION.CounterType field values
//
//
//        Counter ID Field Definition:
//
//   3      2        2    2    2        1        1    1
//   1      8        4    2    0        6        2    0    8                0
//  +--------+--------+----+----+--------+--------+----+----+----------------+
//  |Display |Calculation  |Time|Counter |        |Ctr |Size|                |
//  |Flags   |Modifiers    |Base|SubType |Reserved|Type|Fld |   Reserved     |
//  +--------+--------+----+----+--------+--------+----+----+----------------+
//
//
//  The counter type is the "or" of the following values as described below
//
//  select one of the following to indicate the counter's data size
//
#define PERF_SIZE_DWORD         0x00000000  // 32 bit field
#define PERF_SIZE_LARGE         0x00000100  // 64 bit field
#define PERF_SIZE_ZERO          0x00000200  // for Zero Length fields
#define PERF_SIZE_VARIABLE_LEN  0x00000300  // length is in CounterLength field
                                            //  of Counter Definition struct
//
//  select one of the following values to indicate the counter field usage
//
#define PERF_TYPE_NUMBER        0x00000000  // a number (not a counter)
#define PERF_TYPE_COUNTER       0x00000400  // an increasing numeric value
#define PERF_TYPE_TEXT          0x00000800  // a text field
#define PERF_TYPE_ZERO          0x00000C00  // displays a zero
//
//  If the PERF_TYPE_NUMBER field was selected, then select one of the
//  following to describe the Number
//
#define PERF_NUMBER_HEX         0x00000000  // display as HEX value
#define PERF_NUMBER_DECIMAL     0x00010000  // display as a decimal integer
#define PERF_NUMBER_DEC_1000    0x00020000  // display as a decimal/1000
//
//  If the PERF_TYPE_COUNTER value was selected then select one of the
//  following to indicate the type of counter
//
#define PERF_COUNTER_VALUE      0x00000000  // display counter value
#define PERF_COUNTER_RATE       0x00010000  // divide ctr / delta time
#define PERF_COUNTER_FRACTION   0x00020000  // divide ctr / base
#define PERF_COUNTER_BASE       0x00030000  // base value used in fractions
#define PERF_COUNTER_ELAPSED    0x00040000  // subtract counter from current time
#define PERF_COUNTER_QUEUELEN   0x00050000  // Use Queuelen processing func.
#define PERF_COUNTER_HISTOGRAM  0x00060000  // Counter begins or ends a histogram
#define PERF_COUNTER_PRECISION  0x00070000  // divide ctr / private clock
//
//  If the PERF_TYPE_TEXT value was selected, then select one of the
//  following to indicate the type of TEXT data.
//
#define PERF_TEXT_UNICODE       0x00000000  // type of text in text field
#define PERF_TEXT_ASCII         0x00010000  // ASCII using the CodePage field
//
//  Timer SubTypes
//
#define PERF_TIMER_TICK         0x00000000  // use system perf. freq for base
#define PERF_TIMER_100NS        0x00100000  // use 100 NS timer time base units
#define PERF_OBJECT_TIMER       0x00200000  // use the object timer freq
//
//  Any types that have calculations performed can use one or more of
//  the following calculation modification flags listed here
//
#define PERF_DELTA_COUNTER      0x00400000  // compute difference first
#define PERF_DELTA_BASE         0x00800000  // compute base diff as well
#define PERF_INVERSE_COUNTER    0x01000000  // show as 1.00-value (assumes:
#define PERF_MULTI_COUNTER      0x02000000  // sum of multiple instances
//
//  Select one of the following values to indicate the display suffix (if any)
//
#define PERF_DISPLAY_NO_SUFFIX  0x00000000  // no suffix
#define PERF_DISPLAY_PER_SEC    0x10000000  // "/sec"
#define PERF_DISPLAY_PERCENT    0x20000000  // "%"

⌨️ 快捷键说明

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