📄 mgmt.mof
字号:
//***************************************************************************
//
// mgmt.mof
//
// Module: iScsi Discovery api
//
// Purpose:
//
// Copyright (c) 2001 Microsoft Corporation
//
//***************************************************************************
#define MODULE_HEADER \
"\n" \
"//***************************************************************************\n" \
"//\n" \
"// iscsimgt.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"
//
// Do not cause headers to be generated from common.mof
//
#define GENERATE_HEADER FALSE
//
// Include common definitions
//
#include "common.mof"
#pragma autorecover
[
WMI,
cpp_quote(MODULE_HEADER
"#include <iscsidef.h>\n\n"
"//\n"
"//\n"
"// This class is required.\n"
"//\n"
"// Adapter Information class. The iSCSI initiator service relies upon this\n"
"// class in order to interface with your adapter. Implement one instance\n"
"// per adapter instance.\n"
"//\n"
"// This class must be registered using PDO instance names with a single instance\n"
"//\n"
),
guid("{58515BF3-2F59-4f37-B74F-85AEEC652AD6}"),
Dynamic,
DisplayName("HBA Information") : amended,
Provider("wmiprov")
]
class MSiSCSI_HBAInformation
{
//
// This class must be registered using PDO instance names
//
[key]
string InstanceName;
boolean Active;
[WmiDataId(1),
DisplayName("Adapter Id") : amended,
DisplayInHex,
description("Id that is globally unique for all instances of iSCSI initiators. Use the address of the Adapter Extension or another address owned by the device driver.") : 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. An adapter with its own TCP/IP stack would set this to FALSE.") : amended
]
boolean IntegratedTCPIP;
[WmiDataId(3),
Displayname("Requires Binary Addresses") : amended,
description("If TRUE the iSCSI Initiator service will perform any DNS lookup and pass binary IP addresses to the adapter; the adapter must be on the same network as the Windows TCP/IP stack. If FALSE then DNS must be available on adapter.") : amended
]
boolean RequiresBinaryIpAddresses;
[read,
WmiDataId(4),
DisplayName("Minimum iSCSI Version") : amended,
description("Minimum version number of the iScsi spec supported by adapter") : amended
] uint8 VersionMin;
[read,
WmiDataId(5),
DisplayName("Maximum iSCSI Version") : amended,
description("Maximum version number of the iSCSI spec supported by adapter") : 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 (or TCP/IP addresses) on the adapter") : amended
] uint32 NumberOfPorts;
[read,
WmiDataId(9),
Displayname("Status") : amended,
description("**typedef** Current status of adapter") : 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("**typedef** 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 0x00000002\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("This is the GUID value last set by the SetGenerationalGuid method in the MSiSCSI_Operations class.") : amended
] uint8 GenerationalGuid[16];
[read,
WmiDataId(12),
DisplayName("Max CDB Length") : amended,
Description("Maxumum CDB length supported by the adapter") : amended
] uint32 MaxCDBLength;
[read,
WmiDataId(13),
DisplayName("Bi-directionsal SCSI comamnd supported") : amended,
Description("TRUE if Bi-directionsal SCSI comamnd supported") : amended
] boolean BiDiScsiCommands;
[read,
WmiDataId(14),
DisplayName("Manufacturer") : amended,
description("A text string describing the manufacturer of adapter") : amended,
MaxLen(255)] string VendorID;
[read,
WmiDataId(15),
Displayname("Model") : amended,
description("A text string set by the manufacturer describing the model of adapter") : amended,
MaxLen(255)] string VendorModel;
[read,
WmiDataId(16),
Displayname("Version") : amended,
description("A text string set by the manufacturer describing the version of adapter") : 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 adapter") : amended,
MaxLen(255)] string FirmwareVersion;
[read,
WmiDataId(18),
displayName("ASIC Version") : amended,
description("A text string set by the manufacturer describing the Asic version") : 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 adapter") : 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 adapter") : amended,
MaxLen(255)] string SerialNumber;
[read,
WmiDataId(21),
Displayname("Driver Name") : amended,
description("A text string specifying the name of the driver for the adapter") : amended,
MaxLen(255)] string DriverName;
};
[WMI, Dynamic, Provider("wmiprov"),
DisplayName("HBA Session Default Configuration") : amended,
guid("{B35694DE-D323-49d2-ABB2-8139209AD150}"),
cpp_quote(
"//\n"
"//\n"
"// This class is optional.\n"
"//\n"
"// This class allows the default session configuration to be managed. It \n"
"// contains the default values to use when establishing a session.\n"
"//\n"
"// This class must be registered using PDO instance names with a single instance\n"
"//\n"
)
]
class MSiSCSI_HBASessionConfig
{
[key]
string InstanceName;
boolean Active;
[WmiDataId(1),
read, write,
Description("The InitialR2T key is used to turn off the default use of R2T, thus allowing an initiator to start sending data to a target as if it has received an initial R2T with Buffer Offset=0 and Desired Data Transfer Length=min (FirstBurstSize, Expected Data Transfer Length).") : amended
]
boolean InitialR2T;
[WmiDataId(2),
read, write,
Description("The initiator and target negotiate support for immediate data. To turn immediate data off, the initiator or target must state its desire to do so. ImmediateData can be turned on if both the initiator and target have ImmediateData=Yes.") : amended
]
boolean ImmediateData;
[WmiDataId(3),
read, write,
Description("Maximum data segment length in bytes they can receive in an iSCSI PDU.") : amended
]
uint32 MaxRecvDataSegmentLength;
[WmiDataId(4),
read, write,
Description("Maximum SCSI data payload in bytes in an Data-In or a solicited Data-Out iSCSI sequence.") : amended
]
uint32 MaxBurstLength;
[WmiDataId(5),
read, write,
Description("maximum amount in bytes of unsolicited data an iSCSI initiator may send to the target, during the execution of a single SCSI command. This covers the immediate data (if any) and the sequence of unsolicited Data-Out PDUs (if any) that follow the command.") : amended
]
uint32 FirstBurstLength;
[WmiDataId(6),
read, write,
Description("Initiator and target negotiate the maximum number of outstanding R2Ts per task, excluding any implied initial R2T that might be part of that task. An R2T is considered outstanding until the last data PDU (with the F bit set to 1) is transferred, or a sequence reception timeout (section 6.12.1) is encountered for that data sequence.") : amended
]
uint32 MaxOutstandingR2T;
};
#define ISCSI_DHCP_STATUS uint8
//
// Common qualifiers needed for WMIDHCPStatus values
//
#define ISCSI_DHCP_STATUS_QUALIFIERS \
Description("Enumeration of all the DHCP status") : amended, \
ValueMap{"0", "1"},\
Values{ \
"DHCPEnabled", \
"DHCPDisabled" \
},\
DefineValues {"DHCPEnabled", \
"DHCPDisabled"}
#define ISCSI_AUTO_METRIC_STATUS uint8
//
// Common qualifiers needed for ISCSI_AUTO_METRIC_STATUS values
//
#define ISCSI_AUTO_METRIC_STATUS_QUALIFIERS \
Description("Enumeration of all the Auto Metric status") : amended, \
ValueMap{"0", "1"},\
Values{ \
"AutoMetricEnabled", \
"AutoMetricDisabled" \
},\
DefineValues {"AutoMetricEnabled", \
"AutoMetricDisabled"}
#define ISCSI_LMHOSTLOOKUP_STATUS uint8
//
// Common qualifiers needed for ISCSI_LMHOSTLOOKUP_STATUS values
//
#define ISCSI_LMHOST_LOOKUP_QUALIFIERS \
Description("Enumeration of all the LM Host Lookup status") : amended, \
ValueMap{"0", "1"},\
Values{ \
"LMHostLookupEnabled", \
"LMHostLookupDisabled" \
},\
DefineValues {"LMHostLookupEnabled", \
"LMHostLookupDisabled"}
#define ISCSI_TCP_IP_FLITERING_STATUS uint8
//
// Common qualifiers needed for ISCSI_TCP_IP_FLITERING_STATUS values
//
#define ISCSI_TCP_IP_FLITERING_STATUS_QUALIFIER \
Description("Enumeration of all the ISCSI_TCP_IP_FLITERING status") : amended, \
ValueMap{"0", "1"},\
Values{ \
"TcpIPFilteringEnabled", \
"TcpIPFilteringDisabled" \
},\
DefineValues {"TcpIPFilteringEnabled", \
"TcpIPFilteringDisabled"}
#define ISCSI_CONNECTION_STATE_TYPE uint8
//
// Common qualifiers needed for ISCSI_CONNECTION_STATE_TYPE values
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -