
//***************************************************************************
//
//  hbaapi.mof
//
//  Module: WDM classes to expose HBA api data from drivers
//
//  Purpose: Contains WDM classes that specify the HBA data to be exposed
//           via the HBA api set.
//
//  NOTE: This file contains information that is based upon an earlier
//        revision of the HBAAPI 2.18 specification.
//
//  NOTE: This is currently under revision to SM-HBA Dec 2005
//
//  Copyright (c) 2001 Microsoft Corporation
//
//***************************************************************************

#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\root\\wmi")

[Static,Singleton] 
class MSFC_HbaApiVersion
{
  uint32 WmiHbaApiVersion;
  uint32 HbaApiVersion;
  string Description;
};

Instance of MSFC_HbaApiVersion as $MSFC_HbaApiVersionName
{
  WmiHbaApiVersion = 259;
  HbaApiVersion = 530;
  Description = "SM-HBA Version 1.0/FC-HBA Version 2.18";
};

[Static,Singleton] 
class MS_SM_HbaApiVersion
{
  uint32 WmiHbaApiVersion;
  uint32 HbaApiVersion;
  string Description;
};

Instance of MS_SM_HbaApiVersion as $MS_SM_HbaApiVersionName
{
  WmiHbaApiVersion = 259;
  HbaApiVersion = 256;
  Description = "SM-HBA Version 1.0/FC-HBA Version 2.18";
};

[cpp_quote("\n//***************************************************************************\n//\n//  hbapiwmi.h\n// \n//  Module: WDM classes to expose HBA api data from drivers\n//\n//  Purpose: Contains WDM classes that specify the HBA data to be exposed \n//           via the HBA api set.\n//\n//  NOTE: This file contains information that is based upon:\n//        SM-HBA Version 1.0 and FC-HBA 2.18 specification.\n//\n//        Please specify which WMI interfaces the provider will implement by\n//        defining MS_SM_HBA_API or MSFC_HBA_API before including this file.\n//        That is:\n//\n//        #define MS_SM_HBA_API\n//        #include <hbapiwmi.h>\n//\n//        - or -\n//\n//        #define MSFC_HBA_API\n//        #include <hbapiwmi.h>\n//\n//\n//  Copyright (c) 2001 Microsoft Corporation\n//\n//***************************************************************************\n\n"),WMI,guid("{3CE7904F-459F-480d-9A3C-013EDE3BDDE8}")] 
class MSFC_HBAPortStatistics
{
  [WmiDataId(1)] sint64 SecondsSinceLastReset;
  [WmiDataId(2)] sint64 TxFrames;
  [WmiDataId(3)] sint64 TxWords;
  [WmiDataId(4)] sint64 RxFrames;
  [WmiDataId(5)] sint64 RxWords;
  [WmiDataId(6)] sint64 LIPCount;
  [WmiDataId(7)] sint64 NOSCount;
  [WmiDataId(8)] sint64 ErrorFrames;
  [WmiDataId(9)] sint64 DumpedFrames;
  [WmiDataId(10)] sint64 LinkFailureCount;
  [WmiDataId(11)] sint64 LossOfSyncCount;
  [WmiDataId(12)] sint64 LossOfSignalCount;
  [WmiDataId(13)] sint64 PrimitiveSeqProtocolErrCount;
  [WmiDataId(14)] sint64 InvalidTxWordCount;
  [WmiDataId(15)] sint64 InvalidCRCCount;
};

[WMI,guid("{5966A24F-6AA5-418E-B75C-2F214DFB4B18}")] 
class HBAFC3MgmtInfo
{
  [WmiRefClass("MSFC_FibreChannelAdapter"),WmiRefProperty("UniqueAdapterId"),WmiDataId(1)] uint64 UniqueAdapterId;
  [HBAType("HBA_WWN"),WmiDataId(2),MAX(8)] uint8 wwn[];
  [WmiDataId(3)] uint32 unittype;
  [WmiDataId(4)] uint32 PortId;
  [WmiDataId(5)] uint32 NumberOfAttachedNodes;
  [WmiDataId(6)] uint16 IPVersion;
  [WmiDataId(7)] uint16 UDPPort;
  [WmiDataId(8),MAX(16)] uint8 IPAddress[];
  [WmiDataId(9)] uint16 reserved;
  [WmiDataId(10)] uint16 TopologyDiscoveryFlags;
  [WmiDataId(11)] uint32 reserved1;
};

[HBAType("HBA_SCSIID"),WMI,guid("{A76F5058-B1F0-4622-9E88-5CC41E34454A}")] 
class HBAScsiID
{
  [WmiDataId(1)] uint32 ScsiBusNumber;
  [WmiDataId(2)] uint32 ScsiTargetNumber;
  [WmiDataId(3)] uint32 ScsiOSLun;
  [cpp_quote("\n   //******************************************************************\n   //\n   //  This used to be a string type, but we made this a fixed length\n   //  array so the WmiSizeIs() will work correctly for structs that \n   //  contain this type.\n   //  Please note that this should still be treated as a string.\n   //  The first uint16 must hold the length of string (in bytes).\n   //\n   //******************************************************************\n\n"),WmiDataId(4),MAX(257)] uint16 OSDeviceName[];
};

[cpp_quote("\n\n\n//\n// Event types.\n//\n// These match the definitions in hbaapi.h and must be kept in sync.\n//\n   /* Adapter Level Events */\n#define HBA_EVENT_ADAPTER_UNKNOWN       0x100\n#define HBA_EVENT_ADAPTER_ADD           0x101\n#define HBA_EVENT_ADAPTER_REMOVE        0x102\n#define HBA_EVENT_ADAPTER_CHANGE        0x103\n\n   /* Port Level Events */\n#define HBA_EVENT_PORT_UNKNOWN          0x200\n#define HBA_EVENT_PORT_OFFLINE          0x201\n#define HBA_EVENT_PORT_ONLINE           0x202\n#define HBA_EVENT_PORT_NEW_TARGETS      0x203\n#define HBA_EVENT_PORT_FABRIC           0x204\n#define HBA_EVENT_PORT_BROADCAST_CHANGE 0x205\n#define HBA_EVENT_PORT_BROADCAST_D24_0  0x206\n#define HBA_EVENT_PORT_BROADCAST_D27_4  0x207\n#define HBA_EVENT_PORT_BROADCAST_SES    0x208\n#define HBA_EVENT_PORT_BROADCAST_D01_4  0x209\n#define HBA_EVENT_PORT_BROADCAST_D04_7  0x20a\n#define HBA_EVENT_PORT_BROADCAST_D16_7  0x20b\n#define HBA_EVENT_PORT_BROADCAST_D29_7  0x20c\n#define HBA_EVENT_PORT_ALL              0x2ff\n   \n   /* Port Statistics Events */\n#define HBA_EVENT_PORT_STAT_THRESHOLD   0x301\n#define HBA_EVENT_PORT_STAT_GROWTH      0x302\n\n/* Phy Statistics Events */\n#define HBA_EVENT_PHY_STAT_THRESHOLD    0x351\n#define HBA_EVENT_PHY_STAT_GROWTH       0x352\n\n   /* Target Level Events */\n#define HBA_EVENT_TARGET_UNKNOWN        0x400\n#define HBA_EVENT_TARGET_OFFLINE        0x401\n#define HBA_EVENT_TARGET_ONLINE         0x402\n#define HBA_EVENT_TARGET_REMOVED        0x403\n\n   /* Fabric Link  Events */\n#define HBA_EVENT_LINK_UNKNOWN          0x500\n#define HBA_EVENT_LINK_INCIDENT         0x501\n"),WMI,guid("{C66015EE-014B-498A-9451-99FEAD0AB451}"),Provider("wmiprov"),Dynamic] 
class MSFC_LinkEvent : WMIEvent
{
  [key] string InstanceName;
  boolean Active;
  [WmiDataId(1),ValueMap{"0x100", "0x101", "0x102", "0x103", "0x200", "0x201", "0x202", "0x203", "0x204", "0x205", "0x206", "0x207", "0x208", "0x209", "0x20a", "0x20b", "0x20c", "0x2ff", "0x301", "0x302", "0x351", "0x352", "0x400", "0x401", "0x402", "0x4030x500", "0x501"}] uint32 EventType;
  [WmiDataId(2),HBAType("HBA_WWN"),MAX(8)] uint8 AdapterWWN[];
  [WmiDataId(3)] uint32 RLIRBufferSize;
  [WmiDataId(4),WmiSizeIs("RLIRBufferSize")] uint8 RLIRBuffer[];
};

[cpp_quote("\n#ifndef MS_SM_HBA_API\n#ifndef MSFC_HBA_API\n//\n// if neither defined then default to MSFC\n//\n#define MSFC_HBA_API\n#endif\n#endif\n\n\n#ifdef MSFC_HBA_API\n"),WMI,Dynamic,Provider("wmiprov"),guid("{F8F3EA26-AB2C-4593-8B84-C56428E6BEDB}")] 
class MSFC_FCAdapterHBAAttributes
{
  [key] string InstanceName;
  boolean Active;
  [WmiRefClass("MSFC_FibreChannelAdapter"),WmiRefProperty("UniqueAdapterId"),WmiDataId(1)] uint64 UniqueAdapterId;
  [HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"},WmiDataId(2)] uint32 HBAStatus;
  [HBAType("HBA_WWN"),WmiDataId(3),MAX(8)] uint8 NodeWWN[];
  [WmiDataId(4)] uint32 VendorSpecificID;
  [WmiDataId(5)] uint32 NumberOfPorts;
  [cpp_quote("\n   //******************************************************************\n   //\n   //  The string type is variable length (up to MaxLen).              \n   //  Each string starts with a ushort that holds the strings length  \n   //  (in bytes) followed by the WCHARs that make up the string.      \n   //\n   //******************************************************************\n\n"),MaxLen(64),WmiDataId(6)] string Manufacturer;
  [MaxLen(64),WmiDataId(7)] string SerialNumber;
  [MaxLen(256),WmiDataId(8)] string Model;
  [MaxLen(256),WmiDataId(9)] string ModelDescription;
  [MaxLen(256),WmiDataId(10)] string NodeSymbolicName;
  [MaxLen(256),WmiDataId(11)] string HardwareVersion;
  [MaxLen(256),WmiDataId(12)] string DriverVersion;
  [MaxLen(256),WmiDataId(13)] string OptionROMVersion;
  [MaxLen(256),WmiDataId(14)] string FirmwareVersion;
  [MaxLen(256),WmiDataId(15)] string DriverName;
  [MaxLen(256),WmiDataId(16)] string MfgDomain;
};

[WMI,HBAType("HBA_PORTATTRIBUTES"),guid("{A76BD4E3-9961-4d9b-B6BE-86E698260F68}")] 
class MSFC_HBAPortAttributesResults
{
  [HBAType("HBA_WWN"),WmiDataId(1),MAX(8)] uint8 NodeWWN[];
  [HBAType("HBA_WWN"),WmiDataId(2),MAX(8)] uint8 PortWWN[];
  [WmiDataId(3)] uint32 PortFcId;
  [HBAType("HBA_PORTTYPE"),ValueMap{"1", "2", "3", "5", "6", "7", "8", "9", "10", "20", "21", "30", "31", "32"},WmiDataId(4)] uint32 PortType;
  [HBAType("HBA_PORTSTATE"),ValueMap{"1", "2", "3", "4", "5", "6", "7", "8", "9"},WmiDataId(5)] uint32 PortState;
  [HBAType("HBA_COS"),WmiDataId(6)] uint32 PortSupportedClassofService;
  [HBAType("HBA_FC4TYPES"),WmiDataId(7),MAX(32)] uint8 PortSupportedFc4Types[];
  [HBAType("HBA_FC4TYPES"),WmiDataId(8),MAX(32)] uint8 PortActiveFc4Types[];
  [HBAType("HBA_PORTSPEED"),ValueMap{"1", "2", "4", "8"},WmiDataId(9)] uint32 PortSupportedSpeed;
  [HBAType("HBA_PORTSPEED"),ValueMap{"1", "2", "4", "8"},WmiDataId(10)] uint32 PortSpeed;
  [WmiDataId(11)] uint32 PortMaxFrameSize;
  [HBAType("HBA_WWN"),WmiDataId(12),MAX(8)] uint8 FabricName[];
  [WmiDataId(13)] uint32 NumberofDiscoveredPorts;
};

[WMI,Dynamic,Provider("wmiprov"),guid("{61B397FD-F5AE-4950-9758-0EE598E3C6E6}")] 
class MSFC_FibrePortHBAAttributes
{
  [key] string InstanceName;
  boolean Active;
  [WmiRefClass("MSFC_FibrePort"),WmiRefProperty("UniquePortId"),WmiDataId(1)] uint64 UniquePortId;
  [HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"},WmiDataId(2)] uint32 HBAStatus;
  [HBAType("HBA_PORTATTRIBUTES"),WmiDataId(3)] MSFC_HBAPortAttributesResults Attributes;
};

[WMI,Dynamic,Provider("wmiprov"),guid("{27EFABA4-362A-4F20-920B-ED66E280FCF5}")] 
class MSFC_FibrePortHBAStatistics
{
  [key] string InstanceName;
  boolean Active;
  [WmiRefClass("MSFC_FibrePort"),WmiRefProperty("UniquePortId"),WmiDataId(1)] uint64 UniquePortId;
  [WmiDataId(2),HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus;
  [WmiDataId(3)] MSFC_HBAPortStatistics Statistics;
};

[WMI,Dynamic,Provider("wmiprov"),guid("{E693553E-EDF6-4D57-BF08-EFCAAE1A2E1C}")] 
class MSFC_FibrePortHBAMethods
{
  [key] string InstanceName;
  boolean Active;
  [Implemented,WmiMethodId(1)] void ResetStatistics();
};

[WMI,guid("{CA8E7FE6-B85E-497f-8858-9B5D93A66FE1}")] 
class MSFC_FC4STATISTICS
{
  [WmiDataId(1)] uint64 InputRequests;
  [WmiDataId(2)] uint64 OutputRequests;
  [WmiDataId(3)] uint64 ControlRequests;
  [WmiDataId(4)] uint64 InputMegabytes;
  [WmiDataId(5)] uint64 OutputMegabytes;
};

[WMI,guid("{623F4588-CF01-4f0e-B197-ABBEE5E0CFF3}")] 
class MSFC_EventBuffer
{
  [WmiDataId(1)] uint32 EventType;
  [WmiDataId(2),MAX(4)] uint32 EventInfo[];
};

[WMI,Dynamic,Provider("wmiprov"),guid("{DF87D4ED-4612-4D12-85FB-83574EC34B7C}")] 
class MSFC_HBAAdapterMethods
{
  [key] string InstanceName;
  boolean Active;
  [Implemented,WmiMethodId(1)] void GetDiscoveredPortAttributes([in] uint32 PortIndex,[in] uint32 DiscoveredPortIndex,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,HBAType("HBA_PORTATTRIBUTES")] MSFC_HBAPortAttributesResults PortAttributes);
  [Implemented,WmiMethodId(2)] void GetPortAttributesByWWN([in,HBAType("HBA_WWN"),MAX(8)] uint8 wwn[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,HBAType("HBA_PORTATTRIBUTES")] MSFC_HBAPortAttributesResults PortAttributes);
  [Implemented,WmiMethodId(3)] void RefreshInformation();
  [Implemented,WmiMethodId(4)] void SendCTPassThru([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in] uint32 RequestBufferCount,[in,WmiSizeIs("RequestBufferCount")] uint8 RequestBuffer[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalResponseBufferCount,[out] uint32 ActualResponseBufferCount,[out,cpp_quote("#define SendCTPassThru_OUT_ResponseBuffer_SIZE_HINT 768\n"),WmiSizeIs("ActualResponseBufferCount")] uint8 ResponseBuffer[]);
  [Implemented,WmiMethodId(5)] void SendRNID([in,HBAType("HBA_WWN"),MAX(8)] uint8 wwn[],[in,HBAType("HBA_WWNTYPE"),ValueMap{"0", "1"}] uint32 wwntype,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 ResponseBufferCount,[out,cpp_quote("#define SendRNID_OUT_ResponseBuffer_SIZE_HINT 76\n"),WmiSizeIs("ResponseBufferCount")] uint8 ResponseBuffer[]);
  [Implemented,WmiMethodId(6)] void SendRNIDV2([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DestWWN[],[in] uint32 DestFCID,[in] uint32 NodeIdDataFormat,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRspBufferSize,[out] uint32 ActualRspBufferSize,[out,cpp_quote("#define SendRNIDV2_OUT_RspBuffer_SIZE_HINT 76\n"),WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]);
  [Implemented,WmiMethodId(7)] void GetFC3MgmtInfo([out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] HBAFC3MgmtInfo MgmtInfo);
  [Implemented,WmiMethodId(8)] void SetFC3MgmtInfo([in] HBAFC3MgmtInfo MgmtInfo,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(9)] void SendRPL([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 AgentWWN[],[in] uint32 agent_domain,[in] uint32 portIndex,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRspBufferSize,[out] uint32 ActualRspBufferSize,[out,cpp_quote("#define SendRPL_OUT_RspBuffer_SIZE_HINT 28 // 12+16*n\n"),WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]);
  [Implemented,WmiMethodId(10)] void SendRPS([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 AgentWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 ObjectWWN[],[in] uint32 AgentDomain,[in] uint32 ObjectPortNumber,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRspBufferSize,[out] uint32 ActualRspBufferSize,[out,cpp_quote("#define SendRPS_OUT_RspBuffer_SIZE_HINT 64\n"),WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]);
  [Implemented,WmiMethodId(11)] void SendSRL([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 WWN[],[in] uint32 Domain,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRspBufferSize,[out] uint32 ActualRspBufferSize,[out,cpp_quote("#define SendSRL_OUT_RspBuffer_SIZE_HINT 8\n"),WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]);
  [Implemented,WmiMethodId(12)] void SendLIRR([in,HBAType("HBA_WWN"),MAX(8)] uint8 SourceWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DestWWN[],[in] uint8 Function,[in] uint8 Type,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRspBufferSize,[out] uint32 ActualRspBufferSize,[out,cpp_quote("#define SendLIRR_OUT_RspBuffer_SIZE_HINT 8\n"),WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]);
  [Implemented,WmiMethodId(13)] void GetFC4Statistics([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in] uint8 FC4Type,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] MSFC_FC4STATISTICS FC4Statistics);
  [Implemented,WmiMethodId(14)] void GetFCPStatistics([in] HBAScsiID ScsiId,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] MSFC_FC4STATISTICS FC4Statistics);
  [Implemented,WmiMethodId(15)] void ScsiInquiry([in,MAX(6)] uint8 Cdb[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DiscoveredPortWWN[],[in] uint64 FcLun,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 ResponseBufferSize,[out] uint32 SenseBufferSize,[out] uint8 ScsiStatus,[out,cpp_quote("#define ScsiInquiry_OUT_ResponseBuffer_SIZE_HINT 96\n"),WmiSizeIs("ResponseBufferSize")] uint8 ResponseBuffer[],[out,WmiSizeIs("SenseBufferSize")] uint8 SenseBuffer[]);
  [Implemented,WmiMethodId(16)] void ScsiReadCapacity([in,MAX(10)] uint8 Cdb[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DiscoveredPortWWN[],[in] uint64 FcLun,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 ResponseBufferSize,[out] uint32 SenseBufferSize,[out] uint8 ScsiStatus,[out,cpp_quote("#define ScsiReadCapacity_OUT_ResponseBuffer_SIZE_HINT 16\n"),WmiSizeIs("ResponseBufferSize")] uint8 ResponseBuffer[],[out,WmiSizeIs("SenseBufferSize")] uint8 SenseBuffer[]);
  [Implemented,WmiMethodId(17)] void ScsiReportLuns([in,MAX(12)] uint8 Cdb[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DiscoveredPortWWN[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 ResponseBufferSize,[out] uint32 SenseBufferSize,[out] uint8 ScsiStatus,[out,cpp_quote("#define ScsiReportLuns_OUT_ResponseBuffer_SIZE_HINT 16 // 8+8*number_of_luns\n"),WmiSizeIs("ResponseBufferSize")] uint8 ResponseBuffer[],[out,WmiSizeIs("SenseBufferSize")] uint8 SenseBuffer[]);
  [Implemented,WmiMethodId(18)] void GetEventBuffer([out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 EventCount,[out,WmiSizeIs("EventCount")] MSFC_EventBuffer Events[]);
  [Implemented,WmiMethodId(19)] void SendRLS([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DestWWN[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRspBufferSize,[out] uint32 ActualRspBufferSize,[out,cpp_quote("#define SendRLS_OUT_RspBuffer_SIZE_HINT 28\n"),WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]);
};

[HBAType("HBA_FCPID"),WMI,guid("{FF02BC96-7FB0-4bac-8F97-C71E495FA698}")] 
class HBAFCPID
{
  [WmiDataId(1)] uint32 Fcid;
  [HBAType("HBA_WWN"),WmiDataId(2),MAX(8)] uint8 NodeWWN[];
  [HBAType("HBA_WWN"),WmiDataId(3),MAX(8)] uint8 PortWWN[];
  [WmiDataId(4)] uint64 FcpLun;
};

[HBAType("HBA_FCPSCSIENTRY"),WMI,guid("{77CA1248-1505-4221-8EB6-BBB6EC771A87}")] 
class HBAFCPScsiEntry
{
  [HBAType("HBA_FCPID"),WmiDataId(1)] HBAFCPID FCPId;
  [HBAType("HBA_LUID"),WmiDataId(2),MAX(256)] uint8 Luid[];
  [HBAType("HBA_SCSIID"),WmiDataId(3)] HBAScsiID ScsiId;
};

[HBAType("HBA_FCPBINDINGENTRY"),WMI,guid("{FCEFF8B7-9D6B-4115-8422-05992451A629}")] 
class HBAFCPBindingEntry
{
  [HBAType("HBA_FCPBINDINGTYPE"),ValueMap{"0", "1", "2"},WmiDataId(1)] uint32 Type;
  [HBAType("HBA_FCID"),WmiDataId(2)] HBAFCPID FCPId;
  [HBAType("HBA_SCSIID"),WmiDataId(3)] HBAScsiID ScsiId;
};

[WMI,guid("{3A1E7679-4B1F-4f31-A8AE-FE9278730924}")] 
class HBAFCPBindingEntry2
{
  [WmiDataId(1),BitValues{"HBA_BIND_TO_D_ID", "HBA_BIND_TO_WWPN", "HBA_BIND_TO_WWNN", "HBA_BIND_TO_LUIDHBA_BIND_TARGETS"},BitMap{"0x01", "0x02", "0x04", "0x08", "0x0800"}] uint32 Type;
  [HBAType("HBA_FCID"),WmiDataId(2)] HBAFCPID FCPId;
  [HBAType("HBA_LUID"),WmiDataId(3),MAX(256)] uint8 Luid[];
  [HBAType("HBA_SCSIID"),WmiDataId(4)] HBAScsiID ScsiId;
};

[WMI,Dynamic,Provider("wmiprov"),guid("{7A1FC391-5B23-4C19-B0EB-B1AEF59050C3}")] 
class MSFC_HBAFCPInfo
{
  [key] string InstanceName;
  boolean Active;
  [Implemented,WmiMethodId(1)] void GetFcpTargetMapping([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in] uint32 InEntryCount,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalEntryCount,[out] uint32 OutEntryCount,[out,WmiSizeIs("OutEntryCount")] HBAFCPScsiEntry Entry[]);
  [Implemented,WmiMethodId(2)] void GetFcpPersistentBinding([in] uint32 InEntryCount,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalEntryCount,[out] uint32 OutEntryCount,[out,WmiSizeIs("OutEntryCount")] HBAFCPBindingEntry Entry[]);
  [Implemented,WmiMethodId(3)] void GetBindingCapability([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,BitValues{"HBA_BIND_TO_D_ID", "HBA_BIND_TO_WWPN", "HBA_BIND_TO_WWNN", "HBA_BIND_TO_LUIDHBA_BIND_TARGETS"},BitMap{"0x01", "0x02", "0x04", "0x08", "0x0800"}] uint32 BindType);
  [Implemented,WmiMethodId(4)] void GetBindingSupport([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,BitValues{"HBA_BIND_TO_D_ID", "HBA_BIND_TO_WWPN", "HBA_BIND_TO_WWNN", "HBA_BIND_TO_LUIDHBA_BIND_TARGETS"},BitMap{"0x01", "0x02", "0x04", "0x08", "0x0800"}] uint32 BindType);
  [Implemented,WmiMethodId(5)] void SetBindingSupport([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in,BitValues{"HBA_BIND_TO_D_ID", "HBA_BIND_TO_WWPN", "HBA_BIND_TO_WWNN", "HBA_BIND_TO_LUIDHBA_BIND_TARGETS"},BitMap{"0x01", "0x02", "0x04", "0x08", "0x0800"}] uint32 BindType,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(6)] void GetPersistentBinding2([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in] uint32 InEntryCount,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalEntryCount,[out] uint32 OutEntryCount,[out,WmiSizeIs("OutEntryCount")] HBAFCPBindingEntry2 Bindings[]);
  [cpp_quote("\n//*********************************************************************\n//\n//  A call to HBA_SetPersistentBindingV2 will call SetPersistentEntry\n//  once for each binding entry.\n//  Each binding entry that SetPersistentEntry accepts will be stored\n//  in the registry.\n//\n//  Persistent bindings are stored in the registry under:\n//\n//     System\\CurrentControlSet\\Control\\Storage\\FC\\<PortWWN>\n//\n//         under the REG_BINARY key Bindings  is the struct:\n//\n//             typedef struct {\n//                 ULONG            Version;\n//                 HBA_FCPBINDING2  Bindings;\n//             } HBAP_PERSISTENT_BINDINGS, *PHBAP_PERSISTENT_BINDINGS;\n//\n//  This is done so that storport capable drivers may have access to\n//  this information during boot\n//\n//********************************************************************\n\n#define HBA_REGISTRY_BINDING_VERSION        (1)\n#define HBA_REGISTRY_BINDING_RELATIVE_PATH  L\"System\\\\CurrentControlSet\\\\Control\\\\Storage\\\\FC\"\n#define HBA_REGISTRY_BINDING_KEY            L\"Bindings\"\n\n"),Implemented,WmiMethodId(7)] void SetPersistentEntry([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in,HbaType("HBA_FCPBINDINGENTRY2")] HBAFCPBindingEntry2 Binding,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(8)] void RemovePersistentEntry([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in,HbaType("HBA_FCPBINDINGENTRY2")] HBAFCPBindingEntry2 Binding,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
};

[WMI,guid("{E9E47403-D1D7-43F8-8EE3-53CDBFFF5646}"),Provider("wmiprov"),Dynamic] 
class MSFC_AdapterEvent : WMIEvent
{
  [key] string InstanceName;
  boolean Active;
  [WmiDataId(1),EVENT_TYPE_QUALIFIERS] uint32 EventType;
  [WmiDataId(2),HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[];
};

[WMI,guid("{095FBE97-3876-48EF-8A04-1C55935D0DF5}"),Provider("wmiprov"),Dynamic] 
class MSFC_PortEvent : WMIEvent
{
  [key] string InstanceName;
  boolean Active;
  [WmiDataId(1),ValueMap{"0x100", "0x101", "0x102", "0x103", "0x200", "0x201", "0x202", "0x203", "0x204", "0x205", "0x206", "0x207", "0x208", "0x209", "0x20a", "0x20b", "0x20c", "0x2ff", "0x301", "0x302", "0x351", "0x352", "0x400", "0x401", "0x402", "0x4030x500", "0x501"}] uint32 EventType;
  [WmiDataId(2)] uint32 FabricPortId;
  [WmiDataId(3),HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[];
};

[WMI,guid("{CFA6EF26-8675-4E27-9A0B-B4A860DDD0F3}"),Provider("wmiprov"),Dynamic] 
class MSFC_TargetEvent : WmiEvent
{
  [key] string InstanceName;
  boolean Active;
  [WmiDataId(1),ValueMap{"0x100", "0x101", "0x102", "0x103", "0x200", "0x201", "0x202", "0x203", "0x204", "0x205", "0x206", "0x207", "0x208", "0x209", "0x20a", "0x20b", "0x20c", "0x2ff", "0x301", "0x302", "0x351", "0x352", "0x400", "0x401", "0x402", "0x4030x500", "0x501"}] uint32 EventType;
  [WmiDataId(2),HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[];
  [WmiDataId(3),HBAType("HBA_WWN"),MAX(8)] uint8 DiscoveredPortWWN[];
};

[WMI,Dynamic,Provider("wmiprov"),guid("{A251CCB3-5AB0-411B-8771-5430EF53A26C}")] 
class MSFC_EventControl
{
  [key] string InstanceName;
  boolean Active;
  [Implemented,WmiMethodId(10)] void AddTarget([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DiscoveredPortWWN[],[in] uint32 AllTargets,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(11)] void RemoveTarget([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DiscoveredPortWWN[],[in] uint32 AllTargets,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(20)] void AddPort([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(21)] void RemovePort([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(30)] void AddLink([out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(31)] void RemoveLink([out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
};

[cpp_quote("\n#endif // MSFC_HBA_API\n\n#ifdef MS_SM_HBA_API\n"),WMI,Dynamic,Provider("wmiprov"),guid("{bdc67efa-e5e7-4777-b13c-621459657099}")] 
class MS_SM_AdapterInformationQuery
{
  [key] string InstanceName;
  boolean Active;
  [WmiRefProperty("UniqueAdapterId"),WmiDataId(1)] uint64 UniqueAdapterId;
  [HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"},WmiDataId(2)] uint32 HBAStatus;
  [WmiDataId(3)] uint32 NumberOfPorts;
  [WmiDataId(4)] uint32 VendorSpecificID;
  [cpp_quote("\n   //******************************************************************\n   //\n   //  The string type is variable length (up to MaxLen).              \n   //  Each string starts with a ushort that holds the strings length  \n   //  (in bytes) followed by the WCHARs that make up the string.      \n   //\n   //******************************************************************\n\n"),MaxLen(64),WmiDataId(5)] string Manufacturer;
  [MaxLen(64),WmiDataId(6)] string SerialNumber;
  [MaxLen(256),WmiDataId(7)] string Model;
  [MaxLen(256),WmiDataId(8)] string ModelDescription;
  [MaxLen(256),WmiDataId(9)] string HardwareVersion;
  [MaxLen(256),WmiDataId(10)] string DriverVersion;
  [MaxLen(256),WmiDataId(11)] string OptionROMVersion;
  [MaxLen(256),WmiDataId(12)] string FirmwareVersion;
  [MaxLen(256),WmiDataId(13)] string DriverName;
  [MaxLen(256),WmiDataId(14)] string HBASymbolicName;
  [MaxLen(256),WmiDataId(15)] string RedundantOptionROMVersion;
  [MaxLen(256),WmiDataId(16)] string RedundantFirmwareVersion;
  [MaxLen(256),WmiDataId(17)] string MfgDomain;
};

[WMI,guid("{96b827a7-2b4a-49c8-9097-078200c5a5cd}")] 
class MS_SMHBA_FC_Port
{
  [HBAType("HBA_WWN"),WmiDataId(1),MAX(8)] uint8 NodeWWN[];
  [HBAType("HBA_WWN"),WmiDataId(2),MAX(8)] uint8 PortWWN[];
  [WmiDataId(3)] uint32 FcId;
  [HBAType("HBA_COS"),WmiDataId(4)] uint32 PortSupportedClassofService;
  [HBAType("HBA_FC4TYPES"),WmiDataId(5),MAX(32)] uint8 PortSupportedFc4Types[];
  [HBAType("HBA_FC4TYPES"),WmiDataId(6),MAX(32)] uint8 PortActiveFc4Types[];
  [HBAType("HBA_WWN"),WmiDataId(7),MAX(8)] uint8 FabricName[];
  [WmiDataId(8)] uint32 NumberofDiscoveredPorts;
  [WmiDataId(9)] uint8 NumberofPhys;
  [MaxLen(256),WmiDataId(10)] string PortSymbolicName;
};

[WMI,guid("{b914e34f-7b80-46b0-8034-6d9b689e1ddd}")] 
class MS_SMHBA_SAS_Port
{
  [HBAType("HBA_SASPORTPROTOCOL"),WmiDataId(1)] uint32 PortProtocol;
  [HBAType("HBA_WWN"),WmiDataId(2),MAX(8)] uint8 LocalSASAddress[];
  [HBAType("HBA_WWN"),WmiDataId(3),MAX(8)] uint8 AttachedSASAddress[];
  [WmiDataId(4)] uint32 NumberofDiscoveredPorts;
  [WmiDataId(5)] uint32 NumberofPhys;
};

[WMI,guid("{50a97b2d-99ad-4cf9-8437-b4ea0c07be4c}")] 
class MS_SMHBA_PORTATTRIBUTES
{
  [HBAType("HBA_PORTTYPE"),ValueMap{"1", "2", "3", "5", "6", "7", "8", "9", "10", "20", "21", "30", "31", "32"},WmiDataId(1)] uint32 PortType;
  [HBAType("HBA_PORTSTATE"),ValueMap{"1", "2", "3", "4", "5", "6", "7", "8", "9"},WmiDataId(2)] uint32 PortState;
  [WmiDataId(3)] uint32 PortSpecificAttributesSize;
  [MaxLen(256),WmiDataId(4)] string OSDeviceName;
  [WmiDataId(5)] uint64 Reserved;
  [WmiDataId(6),WmiSizeIs("PortSpecificAttributesSize")] uint8 PortSpecificAttributes[];
};

[WMI,guid("{b557bd86-4128-4d5c-b6e6-b65f9bd68722}")] 
class MS_SMHBA_PROTOCOLSTATISTICS
{
  [WmiDataId(1)] sint64 SecondsSinceLastReset;
  [WmiDataId(2)] sint64 InputRequests;
  [WmiDataId(3)] sint64 OutputRequests;
  [WmiDataId(4)] sint64 ControlRequests;
  [WmiDataId(5)] sint64 InputMegabytes;
  [WmiDataId(6)] sint64 OutputMegabytes;
};

[WMI,guid("{bd458e7d-c40a-4401-a179-11919cbcc5c6}")] 
class MS_SMHBA_SASPHYSTATISTICS
{
  [WmiDataId(1)] sint64 SecondsSinceLastReset;
  [WmiDataId(2)] sint64 TxFrames;
  [WmiDataId(3)] sint64 TxWords;
  [WmiDataId(4)] sint64 RxFrames;
  [WmiDataId(5)] sint64 RxWords;
  [WmiDataId(6)] sint64 InvalidDwordCount;
  [WmiDataId(7)] sint64 RunningDisparityErrorCount;
  [WmiDataId(8)] sint64 LossofDwordSyncCount;
  [WmiDataId(9)] sint64 PhyResetProblemCount;
};

[WMI,guid("{fb66c8fe-1da0-48a2-92db-02c341143c46}")] 
class MS_SMHBA_FC_PHY
{
  [WmiDataId(1),HBAType("HBA_FCPHYSPEED")] uint32 PhySupportSpeed;
  [WmiDataId(2),HBAType("HBA_FCPHYSPEED")] uint32 PhySpeed;
  [WmiDataId(3),HBAType("HBA_FCPHYTYPE")] uint8 PhyType;
  [WmiDataId(4)] uint32 MaxFrameSize;
};

[WMI,guid("{dde0a090-96bc-452b-9a64-6fbb6a19c47d}")] 
class MS_SMHBA_SAS_PHY
{
  [WmiDataId(1)] uint8 PhyIdentifier;
  [WmiDataId(2),HBAType("HBA_SASPHYSPEED")] uint32 NegotiatedLinkRate;
  [WmiDataId(3),HBAType("HBA_SASPHYSPEED")] uint32 ProgrammedMinLinkRate;
  [WmiDataId(4),HBAType("HBA_SASPHYSPEED")] uint32 HardwareMinLinkRate;
  [WmiDataId(5),HBAType("HBA_SASPHYSPEED")] uint32 ProgrammedMaxLinkRate;
  [WmiDataId(6),HBAType("HBA_SASPHYSPEED")] uint32 HardwareMaxLinkRate;
  [WmiDataId(7),HBAType("HBA_WWN"),MAX(8)] uint8 domainPortWWN[];
};

[WMI,Dynamic,Provider("wmiprov"),guid("{5b6a8b86-708d-4ec6-82a6-39adcf6f6433}")] 
class MS_SM_PortInformationMethods
{
  [key] string InstanceName;
  boolean Active;
  [Implemented,WmiMethodId(1)] void SM_GetPortType([in] uint32 PortIndex,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,HBAType("HBA_PORTTYPE"),ValueMap{"1", "2", "3", "5", "6", "7", "8", "9", "10", "20", "21", "30", "31", "32"}] uint32 PortType);
  [Implemented,WmiMethodId(2)] void SM_GetAdapterPortAttributes([in] uint32 PortIndex,[in,cpp_quote("#define SM_PORT_SPECIFIC_ATTRIBUTES_MAXSIZE  max(sizeof(MS_SMHBA_FC_Port),  sizeof(MS_SMHBA_SAS_Port))")] uint32 PortSpecificAttributesMaxSize,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,HBAType("MS_SMHBA_PORTATTRIBUTES")] MS_SMHBA_PORTATTRIBUTES PortAttributes);
  [Implemented,WmiMethodId(3)] void SM_GetDiscoveredPortAttributes([in] uint32 PortIndex,[in] uint32 DiscoveredPortIndex,[in] uint32 PortSpecificAttributesMaxSize,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,HBAType("MS_SMHBA_PORTATTRIBUTES")] MS_SMHBA_PORTATTRIBUTES PortAttributes);
  [Implemented,WmiMethodId(4)] void SM_GetPortAttributesByWWN([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[in] uint32 PortSpecificAttributesMaxSize,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,HBAType("MS_SMHBA_PORTATTRIBUTES")] MS_SMHBA_PORTATTRIBUTES PortAttributes);
  [Implemented,WmiMethodId(5)] void SM_GetProtocolStatistics([in] uint32 PortIndex,[in] uint32 ProtocolType,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,HBAType("MS_SMHBA_PROTOCOLSTATISTICS")] MS_SMHBA_PROTOCOLSTATISTICS ProtocolStatistics);
  [Implemented,WmiMethodId(6)] void SM_GetPhyStatistics([in] uint32 PortIndex,[in] uint32 PhyIndex,[in] uint32 InNumOfPhyCounters,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalNumOfPhyCounters,[out] uint32 OutNumOfPhyCounters,[out,WmiSizeIs("OutNumOfPhyCounters")] sint64 PhyCounter[]);
  [Implemented,WmiMethodId(7)] void SM_GetFCPhyAttributes([in] uint32 PortIndex,[in] uint32 PhyIndex,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,HBAType("MS_SMHBA_FC_PHY")] MS_SMHBA_FC_PHY PhyType);
  [Implemented,WmiMethodId(8)] void SM_GetSASPhyAttributes([in] uint32 PortIndex,[in] uint32 PhyIndex,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,HBAType("MS_SMHBA_SAS_PHY")] MS_SMHBA_SAS_PHY PhyType);
  [Implemented,WmiMethodId(10)] void SM_RefreshInformation();
};

[WMI,HBAType("MS_SMHBA_PORTLUN"),guid("{0669d100-066e-4e49-a68c-e05199596132}")] 
class MS_SMHBA_PORTLUN
{
  [HBAType("HBA_WWN"),WmiDataId(1),MAX(8)] uint8 PortWWN[];
  [HBAType("HBA_WWN"),WmiDataId(2),MAX(8)] uint8 domainPortWWN[];
  [HBAType("HBA_SCSILUN"),WmiDataId(3)] uint64 TargetLun;
};

[WMI,HBAType("MS_SMHBA_SCSIENTRY"),guid("{125d41bc-7643-4155-b81c-e2f128ad1fb4}")] 
class MS_SMHBA_SCSIENTRY
{
  [HBAType("MS_SMHBA_PORTLUN"),WmiDataId(1)] MS_SMHBA_PORTLUN PortLun;
  [HBAType("HBA_LUID"),WmiDataId(2),MAX(256)] uint8 LUID[];
  [HBAType("HBA_SCSIID"),WmiDataId(3)] HBAScsiID ScsiId;
};

[WMI,HBAType("MS_SMHBA_BINDINGENTRY"),guid("{65bfb548-d00a-4d4c-a357-7daa23bc2e3d}")] 
class MS_SMHBA_BINDINGENTRY
{
  [BitValues{"SMHBA_BIND_TO_WWPN", "SMHBA_BIND_TO_LUID"},BitMap{"0x0001", "0x0002"},WmiDataId(1)] uint32 type;
  [HBAType("MS_SMHBA_PORTLUN"),WmiDataId(2)] MS_SMHBA_PORTLUN PortLun;
  [HBAType("HBA_LUID"),WmiDataId(3),MAX(256)] uint8 LUID[];
  [HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"},WmiDataId(4)] uint32 Status;
  [HBAType("HBA_SCSIID"),WmiDataId(5)] HBAScsiID ScsiId;
};

[WMI,Dynamic,Provider("wmiprov"),guid("{93545055-ab4c-4e80-84ae-6a86a2dc4b84}")] 
class MS_SM_TargetInformationMethods
{
  [key] string InstanceName;
  boolean Active;
  [Implemented,WmiMethodId(1)] void SM_GetTargetMapping([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[in] uint32 InEntryCount,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalEntryCount,[out] uint32 OutEntryCount,[out,WmiSizeIs("OutEntryCount")] MS_SMHBA_SCSIENTRY Entry[]);
  [Implemented,WmiMethodId(2)] void SM_GetBindingCapability([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,HBAType("SMHBA_BIND_CAPABILITY")] uint32 Flags);
  [Implemented,WmiMethodId(3)] void SM_GetBindingSupport([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,HBAType("SMHBA_BIND_CAPABILITY")] uint32 Flags);
  [Implemented,WmiMethodId(4)] void SM_SetBindingSupport([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[in,HBAType("SMHBA_BIND_CAPABILITY")] uint32 Flags,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(5)] void SM_GetPersistentBinding([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[in] uint32 InEntryCount,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalEntryCount,[out] uint32 OutEntryCount,[out,WmiSizeIs("OutEntryCount")] MS_SMHBA_BINDINGENTRY Entry[]);
  [Implemented,WmiMethodId(6)] void SM_SetPersistentBinding([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[in] uint32 InEntryCount,[in,WmiSizeIs("InEntryCount")] MS_SMHBA_BINDINGENTRY Entry[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 OutStatusCount,[out,WmiSizeIs("OutStatusCount")] uint32 EntryStatus[]);
  [Implemented,WmiMethodId(7)] void SM_RemovePersistentBinding([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[in] uint32 EntryCount,[in,WmiSizeIs("EntryCount")] MS_SMHBA_BINDINGENTRY Entry[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(8)] void SM_GetLUNStatistics([in,HBAType("HBA_SCSIID")] HBAScsiID Lunit,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out,HBAType("MS_SMHBA_PROTOCOLSTATISTICS")] MS_SMHBA_PROTOCOLSTATISTICS ProtocolStatistics);
};

[WMI,Dynamic,Provider("wmiprov"),guid("{b6661e6f-075e-4209-ae20-fe81db03d979}")] 
class MS_SM_ScsiInformationMethods
{
  [key] string InstanceName;
  boolean Active;
  [Implemented,WmiMethodId(1)] void SM_ScsiInquiry([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DiscoveredPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[in,HBAType("HBA_SCSILUN")] uint64 SmhbaLUN,[in,MAX(6)] uint8 Cdb[],[in] uint32 InRespBufferMaxSize,[in] uint32 InSenseBufferMaxSize,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint8 ScsiStatus,[out] uint32 OutRespBufferSize,[out] uint32 OutSenseBufferSize,[out,WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[],[out,WmiSizeIs("OutSenseBufferSize")] uint8 SenseBuffer[]);
  [Implemented,WmiMethodId(2)] void SM_ScsiReportLuns([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DiscoveredPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[in,MAX(12)] uint8 Cdb[],[in] uint32 InRespBufferMaxSize,[in] uint32 InSenseBufferMaxSize,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint8 ScsiStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out] uint32 OutSenseBufferSize,[out,WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[],[out,WmiSizeIs("OutSenseBufferSize")] uint8 SenseBuffer[]);
  [Implemented,WmiMethodId(3)] void SM_ScsiReadCapacity([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DiscoveredPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[in,HBAType("HBA_SCSILUN")] uint64 SmhbaLUN,[in,MAX(16)] uint8 Cdb[],[in] uint32 InRespBufferMaxSize,[in] uint32 InSenseBufferMaxSize,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint8 ScsiStatus,[out] uint32 OutRespBufferSize,[out] uint32 OutSenseBufferSize,[out,WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[],[out,WmiSizeIs("OutSenseBufferSize")] uint8 SenseBuffer[]);
};

[WMI,Dynamic,Provider("wmiprov"),guid("{467fea10-701b-4388-917f-730620cea328}")] 
class MS_SM_FabricAndDomainManagementMethods
{
  [key] string InstanceName;
  boolean Active;
  [Implemented,WmiMethodId(1)] void SM_SendTEST([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DestWWN[],[in] uint32 DestFCID,[in] uint32 ReqBufferSize,[in,WmiSizeIs("ReqBufferSize")] uint8 ReqBuffer[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(2)] void SM_SendECHO([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DestWWN[],[in] uint32 DestFCID,[in] uint32 InRespBufferMaxSize,[in] uint32 ReqBufferSize,[in,WmiSizeIs("ReqBufferSize")] uint8 ReqBuffer[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 OutRespBufferSize,[out,WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]);
  [Implemented,WmiMethodId(3)] void SM_SendSMPPassThru([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DestPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[in] uint32 InRespBufferMaxSize,[in] uint32 ReqBufferSize,[in,WmiSizeIs("ReqBufferSize")] uint8 ReqBuffer[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out,WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]);
  [Implemented,WmiMethodId(10)] void SM_SendCTPassThru([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in] uint32 InRespBufferMaxSize,[in] uint32 ReqBufferSize,[in,WmiSizeIs("ReqBufferSize")] uint8 ReqBuffer[],[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out,WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]);
  [Implemented,WmiMethodId(11)] void SM_GetRNIDMgmtInfo([out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] HBAFC3MgmtInfo MgmtInfo);
  [Implemented,WmiMethodId(12)] void SM_SetRNIDMgmtInfo([in] HBAFC3MgmtInfo MgmtInfo,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(13)] void SM_SendRNID([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DestWWN[],[in] uint32 DestFCID,[in] uint32 NodeIdDataFormat,[in] uint32 InRespBufferMaxSize,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out,WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]);
  [Implemented,WmiMethodId(14)] void SM_SendRPL([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 AgentWWN[],[in] uint32 AgentDomain,[in] uint32 PortIndex,[in] uint32 InRespBufferMaxSize,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out,WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]);
  [Implemented,WmiMethodId(15)] void SM_SendRPS([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 AgentWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 ObjectWWN[],[in] uint32 AgentDomain,[in] uint32 ObjectPortNumber,[in] uint32 InRespBufferMaxSize,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out,WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]);
  [Implemented,WmiMethodId(16)] void SM_SendSRL([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 WWN[],[in] uint32 Domain,[in] uint32 InRespBufferMaxSize,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out,WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]);
  [Implemented,WmiMethodId(17)] void SM_SendLIRR([in,HBAType("HBA_WWN"),MAX(8)] uint8 SourceWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DestWWN[],[in] uint8 Function,[in] uint8 Type,[in] uint32 InRespBufferMaxSize,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out,WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]);
  [Implemented,WmiMethodId(18)] void SM_SendRLS([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DestWWN[],[in] uint32 InRespBufferMaxSize,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out,WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]);
};

[WMI,guid("{7944cf67-697b-4432-953e-1fdada884361}"),Provider("wmiprov"),Dynamic] 
class MS_SM_AdapterEvent : WMIEvent
{
  [key] string InstanceName;
  boolean Active;
  [WmiDataId(1),EVENT_TYPE_QUALIFIERS] uint32 EventType;
  [WmiDataId(2),HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[];
};

[WMI,guid("{0f760256-8fc6-47ad-9d2e-f0d69801de7c}"),Provider("wmiprov"),Dynamic] 
class MS_SM_PortEvent : WMIEvent
{
  [key] string InstanceName;
  boolean Active;
  [WmiDataId(1),ValueMap{"0x100", "0x101", "0x102", "0x103", "0x200", "0x201", "0x202", "0x203", "0x204", "0x205", "0x206", "0x207", "0x208", "0x209", "0x20a", "0x20b", "0x20c", "0x2ff", "0x301", "0x302", "0x351", "0x352", "0x400", "0x401", "0x402", "0x4030x500", "0x501"}] uint32 EventType;
  [WmiDataId(2)] uint32 FabricPortId;
  [WmiDataId(3),HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[];
};

[WMI,guid("{6e2d8b73-f928-4da9-bda1-ae54189a3825}"),Provider("wmiprov"),Dynamic] 
class MS_SM_TargetEvent : WmiEvent
{
  [key] string InstanceName;
  boolean Active;
  [WmiDataId(1),ValueMap{"0x100", "0x101", "0x102", "0x103", "0x200", "0x201", "0x202", "0x203", "0x204", "0x205", "0x206", "0x207", "0x208", "0x209", "0x20a", "0x20b", "0x20c", "0x2ff", "0x301", "0x302", "0x351", "0x352", "0x400", "0x401", "0x402", "0x4030x500", "0x501"}] uint32 EventType;
  [WmiDataId(2),HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[];
  [WmiDataId(3),HBAType("HBA_WWN"),MAX(8)] uint8 DiscoveredPortWWN[];
  [WmiDataId(4),HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[];
};

[WMI,Dynamic,Provider("wmiprov"),guid("{d6145693-5988-457f-8581-9a0157b58690}")] 
class MS_SM_EventControl
{
  [key] string InstanceName;
  boolean Active;
  [Implemented,WmiMethodId(1)] void SM_AddTarget([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DiscoveredPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[in] uint32 AllTargets,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(2)] void SM_RemoveTarget([in,HBAType("HBA_WWN"),MAX(8)] uint8 HbaPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DiscoveredPortWWN[],[in,HBAType("HBA_WWN"),MAX(8)] uint8 DomainPortWWN[],[in] uint32 AllTargets,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(3)] void SM_AddPort([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in,ValueMap{"0x100", "0x101", "0x102", "0x103", "0x200", "0x201", "0x202", "0x203", "0x204", "0x205", "0x206", "0x207", "0x208", "0x209", "0x20a", "0x20b", "0x20c", "0x2ff", "0x301", "0x302", "0x351", "0x352", "0x400", "0x401", "0x402", "0x4030x500", "0x501"}] uint32 EventType,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(4)] void SM_RemovePort([in,HBAType("HBA_WWN"),MAX(8)] uint8 PortWWN[],[in,ValueMap{"0x100", "0x101", "0x102", "0x103", "0x200", "0x201", "0x202", "0x203", "0x204", "0x205", "0x206", "0x207", "0x208", "0x209", "0x20a", "0x20b", "0x20c", "0x2ff", "0x301", "0x302", "0x351", "0x352", "0x400", "0x401", "0x402", "0x4030x500", "0x501"}] uint32 EventType,[out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(10)] void SM_AddLink([out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
  [Implemented,WmiMethodId(11)] void SM_RemoveLink([out,HBAType("HBA_STATUS"),ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33"}] uint32 HBAStatus);
};

[cpp_quote("#endif // MS_SM_HBA_API\n"),WMI,guid("{8CF4C7EB-A286-409d-9EB9-29D7E0E9F4FA}")] 
class MSFC_TM
{
  [WmiDataId(1)] uint32 tm_sec;
  [WmiDataId(2)] uint32 tm_min;
  [WmiDataId(3)] uint32 tm_hour;
  [WmiDataId(4)] uint32 tm_mday;
  [WmiDataId(5)] uint32 tm_mon;
  [WmiDataId(6)] uint32 tm_year;
  [WmiDataId(7)] uint32 tm_wday;
  [WmiDataId(8)] uint32 tm_yday;
  [WmiDataId(9)] uint32 tm_isdst;
};
#pragma autorecover
#pragma classflags(64)
#pragma namespace("\\\\.\\root\\wmi")
instance of __namespace{ name="ms_409";};
#pragma namespace("\\\\.\\root\\wmi\\ms_409")

[Description("This class exposes FC3 Management information associated with a fibre channel adapter. There should be one instance of this class for each adapter") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class HBAFC3MgmtInfo
{
  [Description("Unique identifier for the adapter. This idenitifer must be unique among all adapters. The same value for the identifier must be used for the same adapter in other classes that expose adapter information") : Amended ToSubclass] uint64 UniqueAdapterId;
};

[Description("This class surfaces HBA link events") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_LinkEvent : WMIEvent
{
  [Description("Type of event") : Amended ToSubclass,Values{"HBA_EVENT_ADAPTER_UNKNOWN", "HBA_EVENT_ADAPTER_ADD", "HBA_EVENT_ADAPTER_REMOVE", "HBA_EVENT_ADAPTER_CHANGE", "HBA_EVENT_PORT_UNKNOWN", "HBA_EVENT_PORT_OFFLINE", "HBA_EVENT_PORT_ONLINE", "HBA_EVENT_PORT_NEW_TARGETS", "HBA_EVENT_PORT_FABRIC", "HBA_EVENT_PORT_BROADCAST_CHANGE", "HBA_EVENT_PORT_BROADCAST_D24_0", "HBA_EVENT_PORT_BROADCAST_D27_4", "HBA_EVENT_PORT_BROADCAST_SES", "HBA_EVENT_PORT_BROADCAST_D01_4", "HBA_EVENT_PORT_BROADCAST_D04_7", "HBA_EVENT_PORT_BROADCAST_D16_7", "HBA_EVENT_PORT_BROADCAST_D29_7", "HBA_EVENT_PORT_ALL", "HBA_EVENT_PORT_STAT_THRESHOLD", "HBA_EVENT_PORT_STAT_GROWTH", "HBA_EVENT_PHY_STAT_THRESHOLD", "HBA_EVENT_PHY_STAT_GROWTH", "HBA_EVENT_TARGET_UNKNOWN", "HBA_EVENT_TARGET_OFFLINE", "HBA_EVENT_TARGET_ONLINE", "HBA_EVENT_TARGET_REMOVED", "HBA_EVENT_LINK_UNKNOWN", "HBA_EVENT_LINK_INCIDENT"} : Amended ToSubclass] uint32 EventType;
  [Description("Discovered Port WWN") : Amended ToSubclass] uint8 AdapterWWN[];
  [Description("Size of RLIR buffer") : Amended ToSubclass] uint32 RLIRBufferSize;
  [Description("Size of RLIR buffer") : Amended ToSubclass] uint8 RLIRBuffer[];
};

[Description("This class exposes attribute information associated with a fibre channel adapter. There should be one instance of this class for each adapter") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_FCAdapterHBAAttributes
{
  [Description("Unique identifier for the adapter. This idenitifer must be unique among all adapters. The same value for the identifier must be used for the same adapter in other classes that expose adapter information") : Amended ToSubclass] uint64 UniqueAdapterId;
  [Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus;
};

[AMENDMENT, LOCALE("ms_409")] 
class MSFC_HBAPortAttributesResults
{
  [Values{"Unknown", "Other", "Not present", "Fabric", "Public Loop", "HBA_PORTTYPE_FLPORT", "Fabric Port", "Fabric expansion port", "Generic Fabric Port", "Private Loop", "Point to Point", "SAS (SSP or STP)", "SATA (Direct Attach)", "SAS Expander"} : Amended ToSubclass] uint32 PortType;
  [Values{"Unknown", "Operational", "User Offline", "Bypassed", "In diagnostics mode", "Link Down", "Port Error", "Loopback", "Degraded"} : Amended ToSubclass] uint32 PortState;
  [Values{"1 GBit/sec", "2 GBit/sec", "10 GBit/sec", "4 GBit/sec"} : Amended ToSubclass] uint32 PortSupportedSpeed;
  [Values{"1 GBit/sec", "2 GBit/sec", "10 GBit/sec", "4 GBit/sec"} : Amended ToSubclass] uint32 PortSpeed;
};

[Description("This class exposes attribute information associated with a Fibre Channel port. There should be one instance of this class for each port.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_FibrePortHBAAttributes
{
  [Description("Unique identifier for the port. This idenitifer must be unique among all ports on all adapters. The same value for the identifier must be used for the same port in other classes that expose port information") : Amended ToSubclass] uint64 UniquePortId;
  [Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus;
};

[Description("This class exposes statistical information associated with a Fibre Channel port. There should be one instance of this class for each port.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_FibrePortHBAStatistics
{
  [Description("Unique identifier for the port. This idenitifer must be unique among all ports on all adapters. The same value for the identifier must be used for the same port in other classes that expose port information") : Amended ToSubclass] uint64 UniquePortId;
  [Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus;
};

[Description("This class exposes operations that can be performed on a Fibre Channel port. There should be one instance of this class for each port.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_FibrePortHBAMethods
{
};

[Description("") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_EventBuffer
{
};

[Description("This class exposes port discovery operations that can be by a fibre channel adapter. There should be one instance of this class for each adapter") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_HBAAdapterMethods
{
  void GetDiscoveredPortAttributes([in] uint32 PortIndex,[in] uint32 DiscoveredPortIndex,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] MSFC_HBAPortAttributesResults PortAttributes);
  void GetPortAttributesByWWN([in] uint8 wwn[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] MSFC_HBAPortAttributesResults PortAttributes);
  void SendCTPassThru([in] uint8 PortWWN[],[in] uint32 RequestBufferCount,[in] uint8 RequestBuffer[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalResponseBufferCount,[out] uint32 ActualResponseBufferCount,[out] uint8 ResponseBuffer[]);
  void SendRNID([in] uint8 wwn[],[in,Values{"NODE_WWN", "PORT_WWN"} : Amended ToSubclass] uint32 wwntype,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 ResponseBufferCount,[out] uint8 ResponseBuffer[]);
  void SendRNIDV2([in] uint8 PortWWN[],[in] uint8 DestWWN[],[in] uint32 DestFCID,[in] uint32 NodeIdDataFormat,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRspBufferSize,[out] uint32 ActualRspBufferSize,[out] uint8 RspBuffer[]);
  void GetFC3MgmtInfo([out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] HBAFC3MgmtInfo MgmtInfo);
  void SetFC3MgmtInfo([in] HBAFC3MgmtInfo MgmtInfo,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void SendRPL([in] uint8 PortWWN[],[in] uint8 AgentWWN[],[in] uint32 agent_domain,[in] uint32 portIndex,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRspBufferSize,[out] uint32 ActualRspBufferSize,[out] uint8 RspBuffer[]);
  void SendRPS([in] uint8 PortWWN[],[in] uint8 AgentWWN[],[in] uint8 ObjectWWN[],[in] uint32 AgentDomain,[in] uint32 ObjectPortNumber,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRspBufferSize,[out] uint32 ActualRspBufferSize,[out] uint8 RspBuffer[]);
  void SendSRL([in] uint8 PortWWN[],[in] uint8 WWN[],[in] uint32 Domain,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRspBufferSize,[out] uint32 ActualRspBufferSize,[out] uint8 RspBuffer[]);
  void SendLIRR([in] uint8 SourceWWN[],[in] uint8 DestWWN[],[in] uint8 Function,[in] uint8 Type,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRspBufferSize,[out] uint32 ActualRspBufferSize,[out] uint8 RspBuffer[]);
  void GetFC4Statistics([in] uint8 PortWWN[],[in] uint8 FC4Type,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] MSFC_FC4STATISTICS FC4Statistics);
  void GetFCPStatistics([in] HBAScsiID ScsiId,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] MSFC_FC4STATISTICS FC4Statistics);
  void ScsiInquiry([in] uint8 Cdb[],[in] uint8 HbaPortWWN[],[in] uint8 DiscoveredPortWWN[],[in] uint64 FcLun,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 ResponseBufferSize,[out] uint32 SenseBufferSize,[out] uint8 ScsiStatus,[out] uint8 ResponseBuffer[],[out] uint8 SenseBuffer[]);
  void ScsiReadCapacity([in] uint8 Cdb[],[in] uint8 HbaPortWWN[],[in] uint8 DiscoveredPortWWN[],[in] uint64 FcLun,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 ResponseBufferSize,[out] uint32 SenseBufferSize,[out] uint8 ScsiStatus,[out] uint8 ResponseBuffer[],[out] uint8 SenseBuffer[]);
  void ScsiReportLuns([in] uint8 Cdb[],[in] uint8 HbaPortWWN[],[in] uint8 DiscoveredPortWWN[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 ResponseBufferSize,[out] uint32 SenseBufferSize,[out] uint8 ScsiStatus,[out] uint8 ResponseBuffer[],[out] uint8 SenseBuffer[]);
  void GetEventBuffer([out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 EventCount,[out] MSFC_EventBuffer Events[]);
  void SendRLS([in] uint8 PortWWN[],[in] uint8 DestWWN[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRspBufferSize,[out] uint32 ActualRspBufferSize,[out] uint8 RspBuffer[]);
};

[AMENDMENT, LOCALE("ms_409")] 
class HBAFCPBindingEntry
{
  [Values{"TO_D_ID", "TO_WWN", "TO_OTHER"} : Amended ToSubclass] uint32 Type;
};

[AMENDMENT, LOCALE("ms_409")] 
class HBAFCPBindingEntry2
{
  [Description("Ways of performing persistent binding") : Amended ToSubclass] uint32 Type;
};

[Description("This class exposes operations associated with FCP on a Fibre Channel adapter. There should be one instance of this class for each adapter.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_HBAFCPInfo
{
  void GetFcpTargetMapping([in] uint8 HbaPortWWN[],[in] uint32 InEntryCount,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalEntryCount,[out] uint32 OutEntryCount,[out] HBAFCPScsiEntry Entry[]);
  void GetFcpPersistentBinding([in] uint32 InEntryCount,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalEntryCount,[out] uint32 OutEntryCount,[out] HBAFCPBindingEntry Entry[]);
  void GetBindingCapability([in] uint8 PortWWN[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out,Description("Ways of performing persistent binding") : Amended ToSubclass] uint32 BindType);
  void GetBindingSupport([in] uint8 PortWWN[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out,Description("Ways of performing persistent binding") : Amended ToSubclass] uint32 BindType);
  void SetBindingSupport([in] uint8 PortWWN[],[in,Description("Ways of performing persistent binding") : Amended ToSubclass] uint32 BindType,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void GetPersistentBinding2([in] uint8 PortWWN[],[in] uint32 InEntryCount,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalEntryCount,[out] uint32 OutEntryCount,[out] HBAFCPBindingEntry2 Bindings[]);
  void SetPersistentEntry([in] uint8 PortWWN[],[in] HBAFCPBindingEntry2 Binding,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void RemovePersistentEntry([in] uint8 PortWWN[],[in] HBAFCPBindingEntry2 Binding,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
};

[Description("This class surfaces HBA adapter events") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_AdapterEvent : WMIEvent
{
  [Description("Event Type") : Amended ToSubclass] uint32 EventType;
  [Description("Adapter WWN") : Amended ToSubclass] uint8 PortWWN[];
};

[Description("This class surfaces HBA port events") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_PortEvent : WMIEvent
{
  [Description("Type of event") : Amended ToSubclass,Values{"HBA_EVENT_ADAPTER_UNKNOWN", "HBA_EVENT_ADAPTER_ADD", "HBA_EVENT_ADAPTER_REMOVE", "HBA_EVENT_ADAPTER_CHANGE", "HBA_EVENT_PORT_UNKNOWN", "HBA_EVENT_PORT_OFFLINE", "HBA_EVENT_PORT_ONLINE", "HBA_EVENT_PORT_NEW_TARGETS", "HBA_EVENT_PORT_FABRIC", "HBA_EVENT_PORT_BROADCAST_CHANGE", "HBA_EVENT_PORT_BROADCAST_D24_0", "HBA_EVENT_PORT_BROADCAST_D27_4", "HBA_EVENT_PORT_BROADCAST_SES", "HBA_EVENT_PORT_BROADCAST_D01_4", "HBA_EVENT_PORT_BROADCAST_D04_7", "HBA_EVENT_PORT_BROADCAST_D16_7", "HBA_EVENT_PORT_BROADCAST_D29_7", "HBA_EVENT_PORT_ALL", "HBA_EVENT_PORT_STAT_THRESHOLD", "HBA_EVENT_PORT_STAT_GROWTH", "HBA_EVENT_PHY_STAT_THRESHOLD", "HBA_EVENT_PHY_STAT_GROWTH", "HBA_EVENT_TARGET_UNKNOWN", "HBA_EVENT_TARGET_OFFLINE", "HBA_EVENT_TARGET_ONLINE", "HBA_EVENT_TARGET_REMOVED", "HBA_EVENT_LINK_UNKNOWN", "HBA_EVENT_LINK_INCIDENT"} : Amended ToSubclass] uint32 EventType;
  [Description("Fabric port id") : Amended ToSubclass] uint32 FabricPortId;
  [Description("Port WWN") : Amended ToSubclass] uint8 PortWWN[];
};

[Description("This class surfaces HBA target events") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_TargetEvent : WmiEvent
{
  [Description("Type of event") : Amended ToSubclass,Values{"HBA_EVENT_ADAPTER_UNKNOWN", "HBA_EVENT_ADAPTER_ADD", "HBA_EVENT_ADAPTER_REMOVE", "HBA_EVENT_ADAPTER_CHANGE", "HBA_EVENT_PORT_UNKNOWN", "HBA_EVENT_PORT_OFFLINE", "HBA_EVENT_PORT_ONLINE", "HBA_EVENT_PORT_NEW_TARGETS", "HBA_EVENT_PORT_FABRIC", "HBA_EVENT_PORT_BROADCAST_CHANGE", "HBA_EVENT_PORT_BROADCAST_D24_0", "HBA_EVENT_PORT_BROADCAST_D27_4", "HBA_EVENT_PORT_BROADCAST_SES", "HBA_EVENT_PORT_BROADCAST_D01_4", "HBA_EVENT_PORT_BROADCAST_D04_7", "HBA_EVENT_PORT_BROADCAST_D16_7", "HBA_EVENT_PORT_BROADCAST_D29_7", "HBA_EVENT_PORT_ALL", "HBA_EVENT_PORT_STAT_THRESHOLD", "HBA_EVENT_PORT_STAT_GROWTH", "HBA_EVENT_PHY_STAT_THRESHOLD", "HBA_EVENT_PHY_STAT_GROWTH", "HBA_EVENT_TARGET_UNKNOWN", "HBA_EVENT_TARGET_OFFLINE", "HBA_EVENT_TARGET_ONLINE", "HBA_EVENT_TARGET_REMOVED", "HBA_EVENT_LINK_UNKNOWN", "HBA_EVENT_LINK_INCIDENT"} : Amended ToSubclass] uint32 EventType;
  [Description("Port WWN") : Amended ToSubclass] uint8 PortWWN[];
  [Description("Discovered Port WWN") : Amended ToSubclass] uint8 DiscoveredPortWWN[];
};

[Description("This class defines the port statistics thresholds that will cause a HBA_EVENT_PORT_STAT_THRESHOLD event to occur") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_EventControl
{
  void AddTarget([in] uint8 HbaPortWWN[],[in] uint8 DiscoveredPortWWN[],[in] uint32 AllTargets,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void RemoveTarget([in] uint8 HbaPortWWN[],[in] uint8 DiscoveredPortWWN[],[in] uint32 AllTargets,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void AddPort([in] uint8 PortWWN[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void RemovePort([in] uint8 PortWWN[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void AddLink([out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void RemoveLink([out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
};

[Description("This class exposes the SM-HBA Adapter attributes. This will include the number of ports on this adapter.") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MS_SM_AdapterInformationQuery
{
  [Description("Unique identifier for the adapter. This idenitifer must be unique among all adapters. The same value for the identifier must be used for the same adapter in other classes that expose adapter information") : Amended ToSubclass] uint64 UniqueAdapterId;
  [Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus;
};

[Description("This class is the FC_Port attributes") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MS_SMHBA_FC_Port
{
};

[Description("This class is the SAS_Port attributes") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MS_SMHBA_SAS_Port
{
};

[AMENDMENT, LOCALE("ms_409")] 
class MS_SMHBA_PORTATTRIBUTES
{
  [Values{"Unknown", "Other", "Not present", "Fabric", "Public Loop", "HBA_PORTTYPE_FLPORT", "Fabric Port", "Fabric expansion port", "Generic Fabric Port", "Private Loop", "Point to Point", "SAS (SSP or STP)", "SATA (Direct Attach)", "SAS Expander"} : Amended ToSubclass] uint32 PortType;
  [Values{"Unknown", "Operational", "User Offline", "Bypassed", "In diagnostics mode", "Link Down", "Port Error", "Loopback", "Degraded"} : Amended ToSubclass] uint32 PortState;
  [Description("Size of MS_SMHBA_SAS_Port or MS_SMHBA_FC_Port") : Amended ToSubclass] uint32 PortSpecificAttributesSize;
  [Description(" MS_SMHBA_SAS_Port or MS_SMHBA_FC_Port Buffer") : Amended ToSubclass] uint8 PortSpecificAttributes[];
};

[Description("This class exposes port information operations that can be determined from the adapter.  There should be one instance of  this class for each adapter") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MS_SM_PortInformationMethods
{
  void SM_GetPortType([in] uint32 PortIndex,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out,Values{"Unknown", "Other", "Not present", "Fabric", "Public Loop", "HBA_PORTTYPE_FLPORT", "Fabric Port", "Fabric expansion port", "Generic Fabric Port", "Private Loop", "Point to Point", "SAS (SSP or STP)", "SATA (Direct Attach)", "SAS Expander"} : Amended ToSubclass] uint32 PortType);
  void SM_GetAdapterPortAttributes([in] uint32 PortIndex,[in] uint32 PortSpecificAttributesMaxSize,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] MS_SMHBA_PORTATTRIBUTES PortAttributes);
  void SM_GetDiscoveredPortAttributes([in] uint32 PortIndex,[in] uint32 DiscoveredPortIndex,[in] uint32 PortSpecificAttributesMaxSize,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] MS_SMHBA_PORTATTRIBUTES PortAttributes);
  void SM_GetPortAttributesByWWN([in] uint8 PortWWN[],[in] uint8 DomainPortWWN[],[in] uint32 PortSpecificAttributesMaxSize,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] MS_SMHBA_PORTATTRIBUTES PortAttributes);
  void SM_GetProtocolStatistics([in] uint32 PortIndex,[in] uint32 ProtocolType,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] MS_SMHBA_PROTOCOLSTATISTICS ProtocolStatistics);
  [Description("Typical counters SMHBA_SASPHYSTATISTICS (9 counters) or MSFC_HBAPortStatistics (15 counters)") : Amended ToSubclass] void SM_GetPhyStatistics([in] uint32 PortIndex,[in] uint32 PhyIndex,[in] uint32 InNumOfPhyCounters,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalNumOfPhyCounters,[out] uint32 OutNumOfPhyCounters,[out] sint64 PhyCounter[]);
  void SM_GetFCPhyAttributes([in] uint32 PortIndex,[in] uint32 PhyIndex,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] MS_SMHBA_FC_PHY PhyType);
  void SM_GetSASPhyAttributes([in] uint32 PortIndex,[in] uint32 PhyIndex,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] MS_SMHBA_SAS_PHY PhyType);
};

[AMENDMENT, LOCALE("ms_409")] 
class MS_SMHBA_BINDINGENTRY
{
  [Description("Ways of performing persistent binding") : Amended ToSubclass] uint32 type;
  [Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 Status;
};

[Description("") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MS_SM_TargetInformationMethods
{
  void SM_GetTargetMapping([in] uint8 HbaPortWWN[],[in] uint8 DomainPortWWN[],[in] uint32 InEntryCount,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalEntryCount,[out] uint32 OutEntryCount,[out] MS_SMHBA_SCSIENTRY Entry[]);
  void SM_GetBindingCapability([in] uint8 HbaPortWWN[],[in] uint8 DomainPortWWN[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 Flags);
  void SM_GetBindingSupport([in] uint8 HbaPortWWN[],[in] uint8 DomainPortWWN[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 Flags);
  void SM_SetBindingSupport([in] uint8 HbaPortWWN[],[in] uint8 DomainPortWWN[],[in] uint32 Flags,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void SM_GetPersistentBinding([in] uint8 HbaPortWWN[],[in] uint8 DomainPortWWN[],[in] uint32 InEntryCount,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalEntryCount,[out] uint32 OutEntryCount,[out] MS_SMHBA_BINDINGENTRY Entry[]);
  void SM_SetPersistentBinding([in] uint8 HbaPortWWN[],[in] uint8 DomainPortWWN[],[in] uint32 InEntryCount,[in] MS_SMHBA_BINDINGENTRY Entry[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 OutStatusCount,[out] uint32 EntryStatus[]);
  void SM_RemovePersistentBinding([in] uint8 HbaPortWWN[],[in] uint8 DomainPortWWN[],[in] uint32 EntryCount,[in] MS_SMHBA_BINDINGENTRY Entry[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void SM_GetLUNStatistics([in] HBAScsiID Lunit,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] MS_SMHBA_PROTOCOLSTATISTICS ProtocolStatistics);
};

[Description("") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MS_SM_ScsiInformationMethods
{
  void SM_ScsiInquiry([in] uint8 HbaPortWWN[],[in] uint8 DiscoveredPortWWN[],[in] uint8 DomainPortWWN[],[in] uint64 SmhbaLUN,[in] uint8 Cdb[],[in] uint32 InRespBufferMaxSize,[in] uint32 InSenseBufferMaxSize,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint8 ScsiStatus,[out] uint32 OutRespBufferSize,[out] uint32 OutSenseBufferSize,[out] uint8 RespBuffer[],[out] uint8 SenseBuffer[]);
  void SM_ScsiReportLuns([in] uint8 HbaPortWWN[],[in] uint8 DiscoveredPortWWN[],[in] uint8 DomainPortWWN[],[in] uint8 Cdb[],[in] uint32 InRespBufferMaxSize,[in] uint32 InSenseBufferMaxSize,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint8 ScsiStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out] uint32 OutSenseBufferSize,[out] uint8 RespBuffer[],[out] uint8 SenseBuffer[]);
  void SM_ScsiReadCapacity([in] uint8 HbaPortWWN[],[in] uint8 DiscoveredPortWWN[],[in] uint8 DomainPortWWN[],[in] uint64 SmhbaLUN,[in] uint8 Cdb[],[in] uint32 InRespBufferMaxSize,[in] uint32 InSenseBufferMaxSize,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint8 ScsiStatus,[out] uint32 OutRespBufferSize,[out] uint32 OutSenseBufferSize,[out] uint8 RespBuffer[],[out] uint8 SenseBuffer[]);
};

[Description("") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MS_SM_FabricAndDomainManagementMethods
{
  void SM_SendTEST([in] uint8 HbaPortWWN[],[in] uint8 DestWWN[],[in] uint32 DestFCID,[in] uint32 ReqBufferSize,[in] uint8 ReqBuffer[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void SM_SendECHO([in] uint8 HbaPortWWN[],[in] uint8 DestWWN[],[in] uint32 DestFCID,[in] uint32 InRespBufferMaxSize,[in] uint32 ReqBufferSize,[in] uint8 ReqBuffer[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 OutRespBufferSize,[out] uint8 RespBuffer[]);
  void SM_SendSMPPassThru([in] uint8 HbaPortWWN[],[in] uint8 DestPortWWN[],[in] uint8 DomainPortWWN[],[in] uint32 InRespBufferMaxSize,[in] uint32 ReqBufferSize,[in] uint8 ReqBuffer[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out] uint8 RespBuffer[]);
  void SM_SendCTPassThru([in] uint8 HbaPortWWN[],[in] uint32 InRespBufferMaxSize,[in] uint32 ReqBufferSize,[in] uint8 ReqBuffer[],[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out] uint8 RespBuffer[]);
  void SM_GetRNIDMgmtInfo([out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] HBAFC3MgmtInfo MgmtInfo);
  void SM_SetRNIDMgmtInfo([in] HBAFC3MgmtInfo MgmtInfo,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void SM_SendRNID([in] uint8 HbaPortWWN[],[in] uint8 DestWWN[],[in] uint32 DestFCID,[in] uint32 NodeIdDataFormat,[in] uint32 InRespBufferMaxSize,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out] uint8 RespBuffer[]);
  void SM_SendRPL([in] uint8 HbaPortWWN[],[in] uint8 AgentWWN[],[in] uint32 AgentDomain,[in] uint32 PortIndex,[in] uint32 InRespBufferMaxSize,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out] uint8 RespBuffer[]);
  void SM_SendRPS([in] uint8 HbaPortWWN[],[in] uint8 AgentWWN[],[in] uint8 ObjectWWN[],[in] uint32 AgentDomain,[in] uint32 ObjectPortNumber,[in] uint32 InRespBufferMaxSize,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out] uint8 RespBuffer[]);
  void SM_SendSRL([in] uint8 HbaPortWWN[],[in] uint8 WWN[],[in] uint32 Domain,[in] uint32 InRespBufferMaxSize,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out] uint8 RespBuffer[]);
  void SM_SendLIRR([in] uint8 SourceWWN[],[in] uint8 DestWWN[],[in] uint8 Function,[in] uint8 Type,[in] uint32 InRespBufferMaxSize,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out] uint8 RespBuffer[]);
  void SM_SendRLS([in] uint8 HbaPortWWN[],[in] uint8 DestWWN[],[in] uint32 InRespBufferMaxSize,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus,[out] uint32 TotalRespBufferSize,[out] uint32 OutRespBufferSize,[out] uint8 RespBuffer[]);
};

[Description("This class surfaces HBA adapter events") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MS_SM_AdapterEvent : WMIEvent
{
  [Description("Event Type") : Amended ToSubclass] uint32 EventType;
  [Description("Adapter WWN") : Amended ToSubclass] uint8 PortWWN[];
};

[Description("This class surfaces HBA port events") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MS_SM_PortEvent : WMIEvent
{
  [Description("Type of event") : Amended ToSubclass,Values{"HBA_EVENT_ADAPTER_UNKNOWN", "HBA_EVENT_ADAPTER_ADD", "HBA_EVENT_ADAPTER_REMOVE", "HBA_EVENT_ADAPTER_CHANGE", "HBA_EVENT_PORT_UNKNOWN", "HBA_EVENT_PORT_OFFLINE", "HBA_EVENT_PORT_ONLINE", "HBA_EVENT_PORT_NEW_TARGETS", "HBA_EVENT_PORT_FABRIC", "HBA_EVENT_PORT_BROADCAST_CHANGE", "HBA_EVENT_PORT_BROADCAST_D24_0", "HBA_EVENT_PORT_BROADCAST_D27_4", "HBA_EVENT_PORT_BROADCAST_SES", "HBA_EVENT_PORT_BROADCAST_D01_4", "HBA_EVENT_PORT_BROADCAST_D04_7", "HBA_EVENT_PORT_BROADCAST_D16_7", "HBA_EVENT_PORT_BROADCAST_D29_7", "HBA_EVENT_PORT_ALL", "HBA_EVENT_PORT_STAT_THRESHOLD", "HBA_EVENT_PORT_STAT_GROWTH", "HBA_EVENT_PHY_STAT_THRESHOLD", "HBA_EVENT_PHY_STAT_GROWTH", "HBA_EVENT_TARGET_UNKNOWN", "HBA_EVENT_TARGET_OFFLINE", "HBA_EVENT_TARGET_ONLINE", "HBA_EVENT_TARGET_REMOVED", "HBA_EVENT_LINK_UNKNOWN", "HBA_EVENT_LINK_INCIDENT"} : Amended ToSubclass] uint32 EventType;
  [Description("Fabric port id") : Amended ToSubclass] uint32 FabricPortId;
  [Description("Port WWN") : Amended ToSubclass] uint8 PortWWN[];
};

[Description("This class surfaces HBA target events") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MS_SM_TargetEvent : WmiEvent
{
  [Description("Type of event") : Amended ToSubclass,Values{"HBA_EVENT_ADAPTER_UNKNOWN", "HBA_EVENT_ADAPTER_ADD", "HBA_EVENT_ADAPTER_REMOVE", "HBA_EVENT_ADAPTER_CHANGE", "HBA_EVENT_PORT_UNKNOWN", "HBA_EVENT_PORT_OFFLINE", "HBA_EVENT_PORT_ONLINE", "HBA_EVENT_PORT_NEW_TARGETS", "HBA_EVENT_PORT_FABRIC", "HBA_EVENT_PORT_BROADCAST_CHANGE", "HBA_EVENT_PORT_BROADCAST_D24_0", "HBA_EVENT_PORT_BROADCAST_D27_4", "HBA_EVENT_PORT_BROADCAST_SES", "HBA_EVENT_PORT_BROADCAST_D01_4", "HBA_EVENT_PORT_BROADCAST_D04_7", "HBA_EVENT_PORT_BROADCAST_D16_7", "HBA_EVENT_PORT_BROADCAST_D29_7", "HBA_EVENT_PORT_ALL", "HBA_EVENT_PORT_STAT_THRESHOLD", "HBA_EVENT_PORT_STAT_GROWTH", "HBA_EVENT_PHY_STAT_THRESHOLD", "HBA_EVENT_PHY_STAT_GROWTH", "HBA_EVENT_TARGET_UNKNOWN", "HBA_EVENT_TARGET_OFFLINE", "HBA_EVENT_TARGET_ONLINE", "HBA_EVENT_TARGET_REMOVED", "HBA_EVENT_LINK_UNKNOWN", "HBA_EVENT_LINK_INCIDENT"} : Amended ToSubclass] uint32 EventType;
  [Description("Port WWN") : Amended ToSubclass] uint8 PortWWN[];
  [Description("Discovered Port WWN") : Amended ToSubclass] uint8 DiscoveredPortWWN[];
  [Description("Domain Port WWN") : Amended ToSubclass] uint8 DomainPortWWN[];
};

[Description("This class defines the port statistics thresholds that will cause a HBA_EVENT_PORT_STAT_THRESHOLD event to occur") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MS_SM_EventControl
{
  void SM_AddTarget([in] uint8 HbaPortWWN[],[in] uint8 DiscoveredPortWWN[],[in] uint8 DomainPortWWN[],[in] uint32 AllTargets,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void SM_RemoveTarget([in] uint8 HbaPortWWN[],[in] uint8 DiscoveredPortWWN[],[in] uint8 DomainPortWWN[],[in] uint32 AllTargets,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void SM_AddPort([in] uint8 PortWWN[],[in,Values{"HBA_EVENT_ADAPTER_UNKNOWN", "HBA_EVENT_ADAPTER_ADD", "HBA_EVENT_ADAPTER_REMOVE", "HBA_EVENT_ADAPTER_CHANGE", "HBA_EVENT_PORT_UNKNOWN", "HBA_EVENT_PORT_OFFLINE", "HBA_EVENT_PORT_ONLINE", "HBA_EVENT_PORT_NEW_TARGETS", "HBA_EVENT_PORT_FABRIC", "HBA_EVENT_PORT_BROADCAST_CHANGE", "HBA_EVENT_PORT_BROADCAST_D24_0", "HBA_EVENT_PORT_BROADCAST_D27_4", "HBA_EVENT_PORT_BROADCAST_SES", "HBA_EVENT_PORT_BROADCAST_D01_4", "HBA_EVENT_PORT_BROADCAST_D04_7", "HBA_EVENT_PORT_BROADCAST_D16_7", "HBA_EVENT_PORT_BROADCAST_D29_7", "HBA_EVENT_PORT_ALL", "HBA_EVENT_PORT_STAT_THRESHOLD", "HBA_EVENT_PORT_STAT_GROWTH", "HBA_EVENT_PHY_STAT_THRESHOLD", "HBA_EVENT_PHY_STAT_GROWTH", "HBA_EVENT_TARGET_UNKNOWN", "HBA_EVENT_TARGET_OFFLINE", "HBA_EVENT_TARGET_ONLINE", "HBA_EVENT_TARGET_REMOVED", "HBA_EVENT_LINK_UNKNOWN", "HBA_EVENT_LINK_INCIDENT"} : Amended ToSubclass] uint32 EventType,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void SM_RemovePort([in] uint8 PortWWN[],[in,Values{"HBA_EVENT_ADAPTER_UNKNOWN", "HBA_EVENT_ADAPTER_ADD", "HBA_EVENT_ADAPTER_REMOVE", "HBA_EVENT_ADAPTER_CHANGE", "HBA_EVENT_PORT_UNKNOWN", "HBA_EVENT_PORT_OFFLINE", "HBA_EVENT_PORT_ONLINE", "HBA_EVENT_PORT_NEW_TARGETS", "HBA_EVENT_PORT_FABRIC", "HBA_EVENT_PORT_BROADCAST_CHANGE", "HBA_EVENT_PORT_BROADCAST_D24_0", "HBA_EVENT_PORT_BROADCAST_D27_4", "HBA_EVENT_PORT_BROADCAST_SES", "HBA_EVENT_PORT_BROADCAST_D01_4", "HBA_EVENT_PORT_BROADCAST_D04_7", "HBA_EVENT_PORT_BROADCAST_D16_7", "HBA_EVENT_PORT_BROADCAST_D29_7", "HBA_EVENT_PORT_ALL", "HBA_EVENT_PORT_STAT_THRESHOLD", "HBA_EVENT_PORT_STAT_GROWTH", "HBA_EVENT_PHY_STAT_THRESHOLD", "HBA_EVENT_PHY_STAT_GROWTH", "HBA_EVENT_TARGET_UNKNOWN", "HBA_EVENT_TARGET_OFFLINE", "HBA_EVENT_TARGET_ONLINE", "HBA_EVENT_TARGET_REMOVED", "HBA_EVENT_LINK_UNKNOWN", "HBA_EVENT_LINK_INCIDENT"} : Amended ToSubclass] uint32 EventType,[out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void SM_AddLink([out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
  void SM_RemoveLink([out,Description("HBA Status result for the query operation") : Amended ToSubclass,Values{"Operation was successful ", "Error ", "Function not supported.", "invalid handle ", "Bad argument ", "WWN not recognized ", "Index not recognized ", "Larger buffer required ", "Information has changed since the last call to HBA_RefreshInformation ", "SCSI Check Condition reported", "Adapter busy or reserved, retry may be effective", "Request timed out, retry may be effective", "Referenced HBA has been removed or deactivated", "The requested ELS was rejected by the local adapter", "The specified LUN is not provided by the specified adapter", "An incompatibility has been detected among the library and driver modules", "Multiple adapters have a matching WWN", "A persistent binding request included a bad local SCSI bus number", "A persistent binding request included a bad local SCSI target number", "A persistent binding request included a bad local SCSI logical unit number", "A persistent binding set request included a local SCSI ID that was already bound", "A persistent binding request included a bad or unlocatable FCP Target FCID", "A persistent binding request included a bad FCP Target Node WWN", "A persistent binding request included a bad FCP Target Port WWN", "A persistent binding request included an FCP Logical Unit Number not defined by the identified Target", "A persistent binding request included an undefined or otherwise in accessible Logical Unit Unique Identifier", "A persistent binding remove request included a binding which did not match a binding established by the specified port", "A SCSI command was requested to an Nx_Port that was not a SCSI Target Port", "A request was made concerning an unsupported FC-4 protocol", "A request was made to enable unimplemented capabilities for a port", "SCSI target is busy", "A call was made to HBA_FreeLibrary when no library was loaded", "A call was made to HBA_LoadLibrary when a library was already loaded", "FCID passed into HBA_SendRNIDV2 violates access control rules"} : Amended ToSubclass] uint32 HBAStatus);
};

[Description("") : Amended ToSubclass,AMENDMENT, LOCALE("ms_409")] 
class MSFC_TM
{
};
