//***************************************************************************
//
// 
//  Module: iScsi Discovery api
//
//  Purpose: 
//
//  Copyright (c) 2001 Microsoft Corporation
//
//***************************************************************************

#pragma autorecover
#pragma namespace("\\\\.\\Root\\WMI")
instance of __namespace{ name="ms_804";};
#pragma namespace("\\\\.\\Root\\WMI\\ms_804")

[DisplayName("IP Address") : Amended,AMENDMENT, LOCALE(0x0804)] 
class ISCSI_IP_Address
{
  [DisplayName("Address Format") : Amended,description("指定的地址类型。它可以是文本: DNS 地址或以点分隔的地址，也可以是二进制 ipv4 或 ipv6 地址") : Amended] uint32 Type;
  [DisplayName("IPV4 Address") : Amended,description("如果将 IPV4 地址指定为地址格式，则此项包含二进制 IPv4 IP 地址") : Amended] uint32 IpV4Address;
  [DisplayName("IPV6 Address") : Amended,description("如果将 IPV6 地址指定为地址格式，则此项包含二进制 IPv6 IP 地址") : Amended] uint8 IpV6Address[];
  [DisplayName("IPV6 Flow Information") : Amended,description("IPV6 流信息") : Amended] uint32 IpV6FlowInfo;
  [DisplayName("IPV6 Scope Id") : Amended,description("IPV6 作用域 ID") : Amended] uint32 IpV6ScopeId;
  [DisplayName("Text Address") : Amended,description("文本地址，可以是 DNS 地址或以点分隔的地址") : Amended] string TextAddress;
};

[description("ISCSI 目标门户") : Amended,AMENDMENT, LOCALE(0x0804)] 
class ISCSI_TargetPortal
{
  [Description("网络地址") : Amended] ISCSI_IP_Address Address;
  [Description("已保留") : Amended] uint32 Reserved;
  [Description("套接字号") : Amended] uint16 Socket;
};

[description("iSCSI 目标门户组") : Amended,AMENDMENT, LOCALE(0x0804)] 
class ISCSI_TargetPortalGroup
{
  [description("组中的门户数") : Amended] uint32 PortalCount;
  [description("组中的目标门户") : Amended] ISCSI_TargetPortal Portals[];
};

[AMENDMENT, LOCALE(0x0804)] 
class ISCSI_LoginOptions
{
  [description("用于指定已指定哪些登录选项值的位标志") : Amended,BitValues{"HeaderDigest", "DataDigest", "MaxConnections", "DefaultTime2Wait", "DefaultTime2Retain"} : Amended] uint32 InformationSpecified;
  [description("可以针对标头摘要协商的循环完整性校验和") : Amended] uint32 HeaderDigest;
  [description("可以针对标头摘要协商的循环完整性校验和") : Amended] uint32 DataDigest;
  [Description("最大连接数，0 表示无限制") : Amended] uint32 MaximumConnections;
  [Description("发起程序和目标协商在意外连接终止或连接重置之后，尝试显式/隐式注销或活动任务重新分配之前，要等待的最短时间(以秒为单位)。") : Amended] uint32 DefaultTime2Wait;
  [Description(" 发起程序和目标协商在意外连接终止或连接重置之后的初始等待(Time2Wait)后，仍有可能进行显式/隐式连接注销或活动任务重新分配的最长时间(以秒为单位)。") : Amended] uint32 DefaultTime2Retain;
  [Description("影响登录方式的标志") : Amended] uint32 LoginFlags;
  [Description("为登录指定的身份验证方法") : Amended,Values{"无身份验证", "CHAP", "相互 CHAP"} : Amended] uint32 AuthType;
};

[description("此类描述从操作系统 LUN 到目标设备 LUN 的映射") : Amended,AMENDMENT, LOCALE(0x0804)] 
class ISCSI_LUNList
{
  [description("目标 LUN") : Amended] uint64 TargetLUN;
  [description("目标映射到的操作系统 SCSI 总线编号") : Amended] uint32 OSLUN;
  [description("已保留") : Amended] uint32 Reserved;
};

[description("此类描述从目标 LUN 到 Windows 端口驱动程序 LUN 的映射") : Amended,AMENDMENT, LOCALE(0x0804)] 
class ISCSI_TargetMapping
{
  [description("目标映射到的操作系统 Scsi 总线编号。如果为 0xffffffff，则可以由微型端口选取任何值。") : Amended] uint32 OSBus;
  [description("目标映射到的操作系统 Scsi 目标编号。如果为 0xffffffff，则可以由微型端口选取任何值。") : Amended] uint32 OSTarget;
  [Description("目标映射的唯一会话 ID") : Amended] uint64 UniqueSessionId;
  [description("为此目标映射的 LUN 计数") : Amended] uint32 LUNCount;
  [description("目标名称") : Amended] string TargetName;
  [Description("如果会话是从永久登录创建的，则为 TRUE") : Amended] boolean FromPersistentLogin;
  [description("已保留") : Amended] uint64 Reserved;
  [description("为此目标映射的 LUN 列表") : Amended] ISCSI_LUNList LUNList[];
};

[Description("iSCSI HBA 主模式 IPSEC 统计信息") : Amended,DisplayName("iSCSI HBA Main Mode IPSEC Statistics") : Amended,AMENDMENT, LOCALE(0x0804)] 
class MSiSCSI_MMIPSECStats : Win32_PerfRawData
{
  [Description("获取是由 IPSEC 驱动程序发出的请求，用于请求 IKE 执行任务。活动获取统计信息包括未完成的请求和任何已排队的请求数。通常，活动获取数为 1。在负载较重的情况下，活动获取数为 1 加上已由 IKE 排队以进行处理的请求数。") : Amended] uint64 ActiveAcquire;
  [Description("已收到排队以进行处理的 IKE 消息数。") : Amended] uint64 ActiveReceive;
  [Description("获取已失败的次数。") : Amended] uint64 AcquireFailures;
  [Description("接收 IKE 消息时 TCP 堆栈已失败的次数。") : Amended] uint64 ReceiveFailures;
  [Description("发送 IKE 消息时 TCP/IP 堆栈已失败的次数。") : Amended] uint64 SendFailures;
  [Description("存储活动获取的获取堆中的条目数。此数目在负载较重的情况下会增加，在清除获取堆时将随着时间推移逐渐减少。") : Amended] uint64 AcquireHeapSize;
  [Description("用于传入 IKE 消息的 IKE 接收缓冲区中的条目数。") : Amended] uint64 ReceiveHeapSize;
  [Description("主模式(也称为阶段 I)或快速模式(也称为阶段 II)协商期间发生的协商失败总数。") : Amended] uint64 NegotiationFailures;
  [Description("主模式协商期间发生的身份验证失败(Kerberos、证书和预共享密钥)总数。") : Amended] uint64 AuthenticationFailures;
  [Description("Cookie 是收到的 IKE 消息中包含的值，该值由 IKE 用于查找活动主模式的状态。收到的 IKE 消息中无法与活动主模式匹配的 Cookie 是无效的。") : Amended] uint64 InvalidCookiesReceived;
  [Description("由 IKE 提交以获取唯一安全参数索引(SPI)的请求总数。") : Amended] uint64 TotalGetSPI;
  [Description("由 IKE 添加的出站快速模式安全关联(SA)数 ") : Amended] uint64 KeyAdditions;
  [Description("由 IKE 添加的入站快速模式安全关联(SA)数 ") : Amended] uint64 KeyUpdates;
  [Description("由 IKE 提交以获取唯一安全参数索引(SPI)的失败请求总数。") : Amended] uint64 GetSPIFailures;
  [Description("由 IKE 提交的已失败出站快速模式安全关联(SA)数") : Amended] uint64 KeyAdditionFailures;
  [Description("由 IKE 添加的入站快速模式安全关联(SA)数 ") : Amended] uint64 KeyUpdateFailures;
  [Description("快速模式状态条目数。") : Amended] uint64 ConnectionListSize;
  [Description("在主模式协商期间创建的成功 SA 总数。") : Amended] uint64 OakleyMainMode;
  [Description("在快速模式协商期间创建的成功 SA 总数") : Amended] uint64 OakleyQuickMode;
  [Description("收到的无效 IKE 消息数，其中包括具有无效标头字段、不正确的负载长度以及不正确的响应程序 Cookie 值(当它应设置为 0 时)的 IKE 消息。") : Amended] uint64 InvalidPackets;
  [Description("导致使用纯文本(也称为软 SA)的协商总数。这通常反映了与未响应主模式协商尝试的计算机之间形成的关联数。这可以包括无法识别 IPSEC 的计算机和可以识别 IPSEC 但不使用 IPSEC 策略与此 IPSEC 对等方协商安全性的计算机。") : Amended] uint64 SoftAssociations;
};

[Description("iSCSI HBA 快速模式 IPSEC 统计信息") : Amended,DisplayName("iSCSI HBA Quick Mode IPSEC Statistics") : Amended,AMENDMENT, LOCALE(0x0804)] 
class MSiSCSI_QMIPSECStats : Win32_PerfRawData
{
  [Description("活动 IPSEC SA 数") : Amended] uint64 ActiveSA;
  [Description("正在进行的 IPSEC 密钥操作的数目") : Amended] uint64 PendingKeyOperations;
  [Description("成功 IPSEC SA 协商总数") : Amended] uint64 KeyAdditions;
  [Description("为 IPSEC SA 进行的密钥删除总数") : Amended] uint64 KeyDeletions;
  [Description("为 IPSEC SA 进行的重新生成密钥操作数目。") : Amended] uint64 ReKeys;
  [Description("活动 IPSEC 隧道数。") : Amended] uint64 ActiveTunnels;
  [Description("安全参数索引(SPI)不正确的数据包总数。") : Amended] uint64 BadSPIPackets;
  [Description("解密失败的数据包总数。") : Amended] uint64 PacketsNotDecrypted;
  [Description("无法验证其数据的数据包总数。") : Amended] uint64 PacketsNotAuthenticated;
  [Description("包含有效“序列号”字段的数据包总数。") : Amended] uint64 PacketsWithReplayDetection;
  [Description("使用 ESP 协议发送的字节数。") : Amended] uint64 ConfidentialBytesSent;
  [Description("使用 ESP 协议接收的字节数。") : Amended] uint64 ConfidentialBytesReceived;
  [Description("使用 AH 协议发送的字节数。") : Amended] uint64 AuthenticatedBytesSent;
  [Description("使用 AH 协议接收的字节数。") : Amended] uint64 AuthenticatedBytesReceived;
  [Description("使用 IPSEC 协议发送的字节数。") : Amended] uint64 TransportBytesSent;
  [Description("使用 IPSEC 协议接收的字节数。") : Amended] uint64 TransportBytesReceived;
  [Description("使用 IPSEC 隧道模式发送的字节数。") : Amended] uint64 TunnelBytesSent;
  [Description("使用 IPSEC 隧道模式接收的字节数。") : Amended] uint64 TunnelBytesReceived;
};

[Description("iSCSI 连接统计信息") : Amended,DisplayName("iSCSI Connections") : Amended,AMENDMENT, LOCALE(0x0804)] 
class MSiSCSI_ConnectionStatistics : Win32_PerfRawData
{
  [Description("此连接实例的 iSCSI 连接 ID。") : Amended] uint16 CID;
  [Description("仅在内部使用的唯一生成会话 ID。这是由 LoginToTarget 方法返回的值。") : Amended] uint64 USID;
  [DisplayName("Adapter Id") : Amended,description("每个适配器的每个实例的全局唯一 ID。这是由 MSiSCSI_HBAInformation 类报告的值。") : Amended] uint64 UniqueAdapterId;
  [DisplayName("Bytes Sent") : Amended,Description("通过此连接发送的字节数的计数") : Amended] uint64 BytesSent;
  [DisplayName("Bytes Received") : Amended,Description("通过此连接接收的字节数的计数") : Amended] uint64 BytesReceived;
  [DisplayName("PDUs Sent") : Amended,Description("通过此连接发送的 PDU 数的计数") : Amended] uint64 PDUCommandsSent;
  [DisplayName("PDUs Received") : Amended,Description("通过此连接接收的 PDU 数的计数") : Amended] uint64 PDUResponsesReceived;
};

[Description("iSCSI 会话统计信息") : Amended,DisplayName("iSCSI Sessions") : Amended,AMENDMENT, LOCALE(0x0804)] 
class MSiSCSI_SessionStatistics : Win32_PerfRawData
{
  [Description("仅在内部使用的唯一生成会话 ID。这是由 LoginToTarget 方法返回的值。") : Amended] uint64 USID;
  [DisplayName("Adapter Id") : Amended,description("每个适配器的每个实例的全局唯一 ID。这是由 MSiSCSI_HBAInformation 类报告的值。") : Amended] uint64 UniqueAdapterId;
  [DisplayName("Bytes Sent") : Amended,Description("通过此会话发送的字节数") : Amended] uint64 BytesSent;
  [DisplayName("Bytes Received") : Amended,Description("通过此会话接收的字节数") : Amended] uint64 BytesReceived;
  [DisplayName("PDUs Sent") : Amended,Description("通过此会话发送的 PDU 数") : Amended] uint64 PDUCommandsSent;
  [DisplayName("PDUs Received") : Amended,Description("通过此会话接收的 PDU 数") : Amended] uint64 PDUResponsesReceived;
  [DisplayName("Digest Errors") : Amended,Description("此会话中出现的摘要错误数的计数") : Amended] uint64 DigestErrors;
  [DisplayName("ConnectionTimeout Errors") : Amended,Description("此会话中出现的 ConnectionTimeout 错误数的计数") : Amended] uint64 ConnectionTimeoutErrors;
  [DisplayName("Format Errors") : Amended,Description("此会话中出现的格式错误数的计数") : Amended] uint64 FormatErrors;
};

[Description("iSCSI 发起程序登录统计信息") : Amended,DisplayName("iSCSI Initiator Login statistics") : Amended,AMENDMENT, LOCALE(0x0804)] 
class MSiSCSI_InitiatorLoginStatistics : Win32_PerfRawData
{
  [DisplayName("Adapter Id") : Amended,description("每个适配器的每个实例的全局唯一 ID。这是由 MSiSCSI_HBAInformation 类报告的值。") : Amended] uint64 UniqueAdapterId;
  [DisplayName("Login Accept Responses") : Amended,Description("登录接受响应的计数") : Amended] uint32 LoginAcceptRsps;
  [DisplayName("Login Other Failed Responses") : Amended,Description("登录的其他失败响应的计数") : Amended] uint32 LoginOtherFailRsps;
  [DisplayName("Login Redirect Responses") : Amended,Description("登录重定向响应的计数") : Amended] uint32 LoginRedirectRsps;
  [DisplayName("Login Authentication Failed Responses") : Amended,Description("登录身份验证失败响应的计数") : Amended] uint32 LoginAuthFailRsps;
  [DisplayName("Logins  Failed") : Amended,Description("登录由于目标身份验证失败而中止的次数的计数") : Amended] uint32 LoginAuthenticateFails;
  [DisplayName("Login Negotiation Failed") : Amended,Description("登录由于与目标协商失败而失败的次数的计数") : Amended] uint32 LoginNegotiateFails;
  [DisplayName("Logout Normal") : Amended,Description("原因代码为 0 的注销命令 PDU 的计数") : Amended] uint32 LogoutNormals;
  [DisplayName("Logout Other Codes") : Amended,Description("状态代码不为 0 的注销命令 PDU 的计数") : Amended] uint32 LogoutOtherCodes;
  [DisplayName("Failed Logins") : Amended,Description("该对象对从此本地发起程序尝试登录已失败的次数进行计数") : Amended] uint32 LoginFailures;
};

[Description("iSCSI 发起程序实例统计信息") : Amended,DisplayName("iSCSI Initiator Instance") : Amended,AMENDMENT, LOCALE(0x0804)] 
class MSiSCSI_InitiatorInstanceStatistics : Win32_PerfRawData
{
  [DisplayName("Adapter Id") : Amended,description("每个适配器的每个实例的全局唯一 ID。这是由 MSiSCSI_HBAInformation 类报告的值。") : Amended] uint64 UniqueAdapterId;
  [DisplayName("Session Digest Errors") : Amended,Description("会话摘要错误的计数") : Amended] uint32 SessionDigestErrorCount;
  [DisplayName("Session Cxn Timeout Errors") : Amended,Description("会话连接超时错误的计数") : Amended] uint32 SessionConnectionTimeoutErrorCount;
  [DisplayName("Session Format Errors") : Amended,Description("会话格式错误的计数") : Amended] uint32 SessionFormatErrorCount;
  [DisplayName("Sessions Failed") : Amended,Description("属于此实例的会话已失败的次数") : Amended] uint32 SessionFailureCount;
};

[AMENDMENT, LOCALE(0x0804)] 
class MSiSCSI_NICPerformance : Win32_PerfRawData
{
  [description("通过以太网端口传输的字节数") : Amended] uint32 BytesTransmitted;
  [description("通过以太网端口接收的字节数") : Amended] uint32 BytesReceived;
  [description("通过以太网端口传输的 PDU 数") : Amended] uint32 PDUTransmitted;
  [description("通过以太网端口接收的 PDU 数") : Amended] uint32 PDUReceived;
};

[Description("iSCSI 请求处理时间") : Amended,DisplayName("iSCSI Request Processing Time") : Amended,AMENDMENT, LOCALE(0x0804)] 
class MSiSCSI_RequestTimeStatistics : Win32_PerfRawData
{
  [Description("此连接实例的 iSCSI 连接 ID。") : Amended] uint16 CID;
  [Description("仅在内部使用的唯一生成会话 ID。这是由 LoginToTarget 方法返回的值。") : Amended] uint64 USID;
  [DisplayName("Adapter Id") : Amended,description("每个适配器的每个实例的全局唯一 ID。这是由 MSiSCSI_HBAInformation 类报告的值。") : Amended] uint64 UniqueAdapterId;
  [DisplayName("Max Request Processing Time") : Amended,Description("通过此连接处理请求所用的最长时间") : Amended] uint32 MaximumProcessingTime;
  [DisplayName("Average Request Processing Time") : Amended,Description("通过此连接处理请求所用的平均时间") : Amended] uint32 AverageProcessingTime;
};
