home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / WindowsServerTrial / server.iso / sources / install.wim / 2 / Windows / System32 / wbem / hbaapi.mof < prev    next >
Encoding:
Text File  |  2008-01-18  |  234.9 KB  |  2,479 lines

  1.  
  2. //***************************************************************************
  3. //
  4. //  hbaapi.mof
  5. //
  6. //  Module: WDM classes to expose HBA api data from drivers
  7. //
  8. //  Purpose: Contains WDM classes that specify the HBA data to be exposed
  9. //           via the HBA api set.
  10. //
  11. //  NOTE: This file contains information that is based upon an earlier
  12. //        revision of the HBAAPI 2.18 specification.
  13. //
  14. //  NOTE: This is currently under revision to SM-HBA Dec 2005
  15. //
  16. //  Copyright (c) 2001 Microsoft Corporation
  17. //
  18. //***************************************************************************
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39. #pragma namespace("\\\\.\\root\\wmi")
  40. #pragma autorecover
  41.  
  42.  
  43. [ Static, Singleton ]
  44. class MSFC_HbaApiVersion
  45. {
  46.     uint32 WmiHbaApiVersion;
  47.     uint32 HbaApiVersion;
  48.     string Description;
  49. };
  50.  
  51. instance of MSFC_HbaApiVersion as $MSFC_HbaApiVersionName
  52. {
  53.     WmiHbaApiVersion = 0x0103;   
  54.     HbaApiVersion    = 0x0212;   
  55.  
  56.     Description      = "SM-HBA Version 1.0/FC-HBA Version 2.18";
  57. };
  58.  
  59.  
  60. [ Static, Singleton ]
  61. class MS_SM_HbaApiVersion
  62. {
  63.     uint32 WmiHbaApiVersion;  
  64.     uint32 HbaApiVersion;  
  65.     string Description;
  66. };
  67.  
  68. instance of MS_SM_HbaApiVersion as $MS_SM_HbaApiVersionName
  69. {
  70.     WmiHbaApiVersion = 0x0103;   
  71.     HbaApiVersion    = 0x0100;   
  72.  
  73.     Description      = "SM-HBA Version 1.0/FC-HBA Version 2.18";
  74. };
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195. [cpp_quote("\n"
  196. "//***************************************************************************\n"
  197. "//\n"
  198. "//  hbapiwmi.h\n"
  199. "// \n"
  200. "//  Module: WDM classes to expose HBA api data from drivers\n"
  201. "//\n"
  202. "//  Purpose: Contains WDM classes that specify the HBA data to be exposed \n"
  203. "//           via the HBA api set.\n"
  204. "//\n"
  205. "//  NOTE: This file contains information that is based upon:\n"
  206. "//        SM-HBA Version 1.0 and FC-HBA 2.18 specification.\n"
  207. "//\n"
  208. "//        Please specify which WMI interfaces the provider will implement by\n"
  209. "//        defining MS_SM_HBA_API or MSFC_HBA_API before including this file.\n"
  210. "//        That is:\n"
  211. "//\n"
  212. "//        #define MS_SM_HBA_API\n"
  213. "//        #include <hbapiwmi.h>\n"
  214. "//\n"
  215. "//        - or -\n"
  216. "//\n"
  217. "//        #define MSFC_HBA_API\n"
  218. "//        #include <hbapiwmi.h>\n"
  219. "//\n"
  220. "//\n"
  221. "//  Copyright (c) 2001 Microsoft Corporation\n"
  222. "//\n"
  223. "//***************************************************************************\n\n"
  224.     ),           
  225.  WMI,
  226.  guid("{3CE7904F-459F-480d-9A3C-013EDE3BDDE8}")
  227. ]
  228. class MSFC_HBAPortStatistics 
  229. {
  230.     [ WmiDataId(1) ]
  231.     sint64 SecondsSinceLastReset;
  232.  
  233.     [ WmiDataId(2) ]
  234.     sint64 TxFrames;
  235.  
  236.     [ WmiDataId(3) ]
  237.     sint64 TxWords;
  238.  
  239.     [ WmiDataId(4) ]
  240.     sint64 RxFrames;
  241.  
  242.     [ WmiDataId(5) ]
  243.     sint64 RxWords;
  244.  
  245.     [ WmiDataId(6) ]
  246.     sint64 LIPCount;
  247.  
  248.     [ WmiDataId(7) ]
  249.     sint64 NOSCount;
  250.  
  251.     [ WmiDataId(8) ]
  252.     sint64 ErrorFrames;
  253.  
  254.     [ WmiDataId(9) ]
  255.     sint64 DumpedFrames;
  256.  
  257.     [ WmiDataId(10) ]
  258.     sint64 LinkFailureCount;
  259.  
  260.     
  261.     
  262.     [ WmiDataId(11) ]
  263.     sint64 LossOfSyncCount;
  264.  
  265.     
  266.     
  267.     [ WmiDataId(12) ]
  268.     sint64 LossOfSignalCount;
  269.  
  270.     [ WmiDataId(13) ]
  271.     sint64 PrimitiveSeqProtocolErrCount;
  272.  
  273.     [ WmiDataId(14) ]
  274.     sint64 InvalidTxWordCount;
  275.  
  276.     
  277.     
  278.     [ WmiDataId(15) ]
  279.     sint64 InvalidCRCCount;
  280.  
  281. };
  282.  
  283. [WMI,
  284.  Description("This class exposes FC3 Management information associated with "
  285.              "a fibre channel adapter. There should be one instance of this "
  286.              "class for each adapter") : amended,
  287.  guid("{5966A24F-6AA5-418E-B75C-2F214DFB4B18}")
  288. ]
  289. class HBAFC3MgmtInfo
  290. {
  291.     [
  292.      Description ("Unique identifier for the adapter. This idenitifer must "
  293.                   "be unique among all adapters. The same "
  294.                   "value for the identifier must be used for the same adapter "
  295.                   "in other classes that expose adapter information") : amended,
  296.  
  297.      WmiRefClass("MSFC_FibreChannelAdapter"),
  298.      WmiRefProperty("UniqueAdapterId"),
  299.      WmiDataId(1)
  300.     ]
  301.     uint64 UniqueAdapterId;             
  302.  
  303.     [HBAType("HBA_WWN"), WmiDataId(2) ]
  304.     uint8 wwn[8];
  305.  
  306.     [ WmiDataId(3) ]
  307.     uint32 unittype;
  308.  
  309.     [ WmiDataId(4) ]
  310.     uint32 PortId;
  311.  
  312.     [ WmiDataId(5) ]
  313.     uint32 NumberOfAttachedNodes;
  314.  
  315.     [ WmiDataId(6) ]
  316.     uint16 IPVersion;
  317.  
  318.     [ WmiDataId(7) ]
  319.     uint16 UDPPort;
  320.  
  321.     [ WmiDataId(8) ]
  322.     uint8 IPAddress[16];
  323.  
  324.     [ WmiDataId(9) ]
  325.     uint16 reserved;
  326.  
  327.     [ WmiDataId(10) ]
  328.     uint16 TopologyDiscoveryFlags;
  329.  
  330.     [ WmiDataId(11) ]
  331.     uint32 reserved1;
  332.  
  333. };
  334.  
  335.  
  336. [HBAType("HBA_SCSIID"),
  337.  WMI,
  338.  guid("{A76F5058-B1F0-4622-9E88-5CC41E34454A}")
  339. ]
  340. class HBAScsiID
  341. {
  342.     [WmiDataId(1) ]
  343.     uint32 ScsiBusNumber;
  344.  
  345.     [WmiDataId(2) ]
  346.     uint32 ScsiTargetNumber;
  347.  
  348.     [WmiDataId(3) ]
  349.     uint32 ScsiOSLun;
  350.  
  351.     [
  352.     cpp_quote("\n"
  353.     "   //******************************************************************\n"
  354.     "   //\n"
  355.     "   //  This used to be a string type, but we made this a fixed length\n"
  356.     "   //  array so the WmiSizeIs() will work correctly for structs that \n"
  357.     "   //  contain this type.\n"
  358.     "   //  Please note that this should still be treated as a string.\n"
  359.     "   //  The first uint16 must hold the length of string (in bytes).\n"
  360.     "   //\n"
  361.     "   //******************************************************************\n"
  362.     "\n"),
  363.  
  364.      WmiDataId(4)
  365.     ]
  366.     uint16 OSDeviceName[257];
  367.  
  368. };
  369.  
  370.  
  371. [cpp_quote("\n"
  372. "\n"
  373. "\n"
  374. "//\n"
  375. "// Event types.\n"
  376. "//\n"
  377. "// These match the definitions in hbaapi.h and must be kept in sync.\n"
  378. "//\n"
  379. "   /* Adapter Level Events */\n"
  380. "#define HBA_EVENT_ADAPTER_UNKNOWN       0x100\n"
  381. "#define HBA_EVENT_ADAPTER_ADD           0x101\n"
  382. "#define HBA_EVENT_ADAPTER_REMOVE        0x102\n"
  383. "#define HBA_EVENT_ADAPTER_CHANGE        0x103\n"
  384. "\n"
  385. "   /* Port Level Events */\n"
  386. "#define HBA_EVENT_PORT_UNKNOWN          0x200\n"
  387. "#define HBA_EVENT_PORT_OFFLINE          0x201\n"
  388. "#define HBA_EVENT_PORT_ONLINE           0x202\n"
  389. "#define HBA_EVENT_PORT_NEW_TARGETS      0x203\n"
  390. "#define HBA_EVENT_PORT_FABRIC           0x204\n"
  391. "#define HBA_EVENT_PORT_BROADCAST_CHANGE 0x205\n"
  392. "#define HBA_EVENT_PORT_BROADCAST_D24_0  0x206\n"
  393. "#define HBA_EVENT_PORT_BROADCAST_D27_4  0x207\n"
  394. "#define HBA_EVENT_PORT_BROADCAST_SES    0x208\n"
  395. "#define HBA_EVENT_PORT_BROADCAST_D01_4  0x209\n"
  396. "#define HBA_EVENT_PORT_BROADCAST_D04_7  0x20a\n"
  397. "#define HBA_EVENT_PORT_BROADCAST_D16_7  0x20b\n"
  398. "#define HBA_EVENT_PORT_BROADCAST_D29_7  0x20c\n"
  399. "#define HBA_EVENT_PORT_ALL              0x2ff\n"
  400. "   \n"
  401. "   /* Port Statistics Events */\n"
  402. "#define HBA_EVENT_PORT_STAT_THRESHOLD   0x301\n"
  403. "#define HBA_EVENT_PORT_STAT_GROWTH      0x302\n"
  404. "\n"
  405. "/* Phy Statistics Events */\n"
  406. "#define HBA_EVENT_PHY_STAT_THRESHOLD    0x351\n"
  407. "#define HBA_EVENT_PHY_STAT_GROWTH       0x352\n"
  408. "\n"
  409. "   /* Target Level Events */\n"
  410. "#define HBA_EVENT_TARGET_UNKNOWN        0x400\n"
  411. "#define HBA_EVENT_TARGET_OFFLINE        0x401\n"
  412. "#define HBA_EVENT_TARGET_ONLINE         0x402\n"
  413. "#define HBA_EVENT_TARGET_REMOVED        0x403\n"
  414. "\n"
  415. "   /* Fabric Link  Events */\n"
  416. "#define HBA_EVENT_LINK_UNKNOWN          0x500\n"
  417. "#define HBA_EVENT_LINK_INCIDENT         0x501\n"
  418. ),
  419.  WMI,
  420.  Description("This class surfaces HBA link events") : amended,
  421.  guid("{C66015EE-014B-498A-9451-99FEAD0AB451}"),
  422.  Provider("wmiprov"),
  423.  Dynamic
  424. ]
  425. class MSFC_LinkEvent : WMIEvent
  426. {
  427.     [key]
  428.     string InstanceName;
  429.     boolean Active;
  430.  
  431.     [WmiDataId(1),
  432.      Description("Type of event") : amended,
  433.      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" }, 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", "0x403" "0x500", "0x501" }
  434.     ]
  435.     uint32 EventType;
  436.  
  437.     [WmiDataId(2),
  438.      Description("Discovered Port WWN") : amended,
  439.      HBAType("HBA_WWN")
  440.     ]
  441.     uint8 AdapterWWN[8];
  442.  
  443.     [WmiDataId(3),
  444.      Description("Size of RLIR buffer") : amended
  445.     ]
  446.     uint32 RLIRBufferSize;
  447.  
  448.     [WmiDataId(4),
  449.      Description("Size of RLIR buffer") : amended,
  450.      WmiSizeIs("RLIRBufferSize")
  451.     ]
  452.     uint8 RLIRBuffer[];
  453. };
  454.  
  455.  
  456.  
  457.  
  458. [cpp_quote("\n"
  459.            "#ifndef MS_SM_HBA_API\n"
  460.            "#ifndef MSFC_HBA_API\n"
  461.            "//\n"
  462.            "// if neither defined then default to MSFC\n"
  463.            "//\n"
  464.            "#define MSFC_HBA_API\n"
  465.            "#endif\n"
  466.            "#endif\n"
  467.            "\n"
  468.            "\n"
  469.            "#ifdef MSFC_HBA_API\n"),
  470.  WMI, 
  471.  Dynamic,
  472.  Provider("wmiprov"),
  473.  Description("This class exposes attribute information associated with a "
  474.              "fibre channel adapter. There should be one instance of this "
  475.              "class for each adapter") : amended,
  476.  guid("{F8F3EA26-AB2C-4593-8B84-C56428E6BEDB}")
  477. ]
  478. class MSFC_FCAdapterHBAAttributes
  479. {
  480.     [key] 
  481.     string InstanceName;
  482.     boolean Active;
  483.  
  484.     [
  485.      Description ("Unique identifier for the adapter. This idenitifer must "
  486.                   "be unique among all adapters. The same "
  487.                   "value for the identifier must be used for the same adapter "
  488.                   "in other classes that expose adapter information") : amended,
  489.  
  490.      WmiRefClass("MSFC_FibreChannelAdapter"),
  491.      WmiRefProperty("UniqueAdapterId"),     
  492.      WmiDataId(1)
  493.     ]
  494.     uint64 UniqueAdapterId;             
  495.  
  496.     [HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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, WmiDataId(2) ]
  497.     uint32 HBAStatus;
  498.  
  499.     
  500.     
  501.     [HBAType("HBA_WWN"), WmiDataId(3) ]
  502.     uint8 NodeWWN[8];
  503.  
  504.     [WmiDataId(4) ]
  505.     uint32 VendorSpecificID;
  506.  
  507.     [WmiDataId(5) ]
  508.     uint32 NumberOfPorts;
  509.  
  510.     
  511.     [
  512.     cpp_quote("\n" 
  513.     "   //******************************************************************\n"
  514.     "   //\n"
  515.     "   //  The string type is variable length (up to MaxLen).              \n"
  516.     "   //  Each string starts with a ushort that holds the strings length  \n"
  517.     "   //  (in bytes) followed by the WCHARs that make up the string.      \n" 
  518.     "   //\n"
  519.     "   //  This struct is packed so the offset for SerialNumber must be    \n"
  520.     "   //  computed from the offset of Manufacturer.                       \n"
  521.     "   //   i.e. SerialNumber = Manufacturer+sizeof(USHORT)+Manufacturer[0]\n"
  522.     "   //\n"
  523.     "   //  similarly Model's offset must be computed from SerialNumber etc.\n"
  524.     "   //\n"
  525.     "   //******************************************************************\n"
  526.     "\n"),
  527.  
  528.      MaxLen(64),
  529.      WmiDataId(6)
  530.     ]
  531.     string Manufacturer;
  532.  
  533.     
  534.     [MaxLen(64), WmiDataId(7) ]
  535.     string SerialNumber; 
  536.  
  537.     
  538.     [MaxLen(256), WmiDataId(8) ]
  539.     string Model; 
  540.  
  541.     [MaxLen(256), WmiDataId(9) ]
  542.     string ModelDescription; 
  543.  
  544.     [MaxLen(256), WmiDataId(10) ]
  545.     string NodeSymbolicName; 
  546.  
  547.     
  548.     
  549.     [MaxLen(256), WmiDataId(11) ]
  550.     string HardwareVersion; 
  551.  
  552.     [MaxLen(256), WmiDataId(12) ]
  553.     string DriverVersion; 
  554.  
  555.     [MaxLen(256), WmiDataId(13) ]
  556.     string OptionROMVersion; 
  557.  
  558.     [MaxLen(256), WmiDataId(14) ]
  559.     string FirmwareVersion; 
  560.  
  561.     [MaxLen(256), WmiDataId(15) ]
  562.     string DriverName; 
  563.  
  564.     [MaxLen(256), WmiDataId(16) ]
  565.     string MfgDomain;
  566. };
  567.  
  568.  
  569. [WMI, 
  570.  HBAType("HBA_PORTATTRIBUTES"),
  571.  guid("{A76BD4E3-9961-4d9b-B6BE-86E698260F68}")
  572. ]
  573. class MSFC_HBAPortAttributesResults
  574. {
  575.     [HBAType("HBA_WWN"), WmiDataId(1) ]
  576.     uint8 NodeWWN[8];
  577.  
  578.     [HBAType("HBA_WWN"), WmiDataId(2) ]
  579.     uint8 PortWWN[8];
  580.  
  581.     [ WmiDataId(3) ]
  582.     uint32 PortFcId;
  583.  
  584.     
  585.     [HBAType("HBA_PORTTYPE"), 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, ValueMap{"1", "2", "3", "5", "6", "7", "8", "9", "10", "20", "21", "30", "31", "32"}, WmiDataId(4) ]
  586.     uint32 PortType;
  587.  
  588.     
  589.     [HBAType("HBA_PORTSTATE"), Values{"Unknown", "Operational", "User Offline", "Bypassed", "In diagnostics mode", "Link Down", "Port Error", "Loopback", "Degraded" } : amended, ValueMap{"1","2","3","4","5","6","7","8", "9"}, WmiDataId(5) ]
  590.     uint32 PortState;
  591.  
  592.     
  593.     
  594.     
  595.     [HBAType("HBA_COS"), WmiDataId(6) ]
  596.     uint32 PortSupportedClassofService;
  597.  
  598.     
  599.     [HBAType("HBA_FC4TYPES"), WmiDataId(7) ]
  600.     uint8 PortSupportedFc4Types[32];
  601.  
  602.     [HBAType("HBA_FC4TYPES"), WmiDataId(8) ]
  603.     uint8 PortActiveFc4Types[32];
  604.  
  605.     [HBAType("HBA_PORTSPEED"),
  606.      Values{"1 GBit/sec", "2 GBit/sec", "10 GBit/sec", "4 GBit/sec"} : amended,
  607.      ValueMap{"1", "2", "4", "8"},
  608.      WmiDataId(9)
  609.     ]
  610.     uint32 PortSupportedSpeed;
  611.  
  612.     
  613.     [HBAType("HBA_PORTSPEED"),
  614.      Values{"1 GBit/sec", "2 GBit/sec", "10 GBit/sec", "4 GBit/sec"} : amended,
  615.      ValueMap{"1", "2", "4", "8"},
  616.      WmiDataId(10)
  617.     ]
  618.     uint32 PortSpeed;
  619.  
  620.     [ WmiDataId(11) ]
  621.     uint32 PortMaxFrameSize;
  622.  
  623.     [HBAType("HBA_WWN"), WmiDataId(12) ]
  624.     uint8 FabricName[8];
  625.  
  626.     [ WmiDataId(13) ]
  627.     uint32 NumberofDiscoveredPorts;
  628.  
  629. };
  630.  
  631.  
  632. [WMI,
  633.  Dynamic,
  634.  Provider("wmiprov"),
  635.  Description("This class exposes attribute information associated with "
  636.              "a Fibre Channel port. There should be one instance of this "
  637.              "class for each port.") : amended,
  638.  guid("{61B397FD-F5AE-4950-9758-0EE598E3C6E6}")
  639. ]
  640. class MSFC_FibrePortHBAAttributes
  641. {
  642.     [key]
  643.     string  InstanceName;
  644.     boolean Active;
  645.  
  646.     [
  647.      Description ("Unique identifier for the port. This idenitifer must "
  648.                   "be unique among all ports on all adapters. The same "
  649.                   "value for the identifier must be used for the same port "
  650.                   "in other classes that expose port information") : amended,
  651.      WmiRefClass("MSFC_FibrePort"),
  652.      WmiRefProperty("UniquePortId"),
  653.      WmiDataId(1)
  654.     ]
  655.     uint64 UniquePortId;                
  656.  
  657.     [HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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,
  658.      WmiDataId(2)
  659.     ]
  660.     uint32 HBAStatus;
  661.  
  662.     [HBAType("HBA_PORTATTRIBUTES"),
  663.      WmiDataId(3)
  664.     ]
  665.     MSFC_HBAPortAttributesResults Attributes;
  666. };
  667.  
  668.  
  669. [WMI, 
  670.  Dynamic,
  671.  Provider("wmiprov"),
  672.  Description("This class exposes statistical information associated with "
  673.              "a Fibre Channel port. There should be one instance of this "
  674.              "class for each port.") : amended,
  675.  guid("{27EFABA4-362A-4F20-920B-ED66E280FCF5}")
  676. ]
  677. class MSFC_FibrePortHBAStatistics
  678. {
  679.     [key] 
  680.     string  InstanceName;
  681.     boolean Active;
  682.  
  683.     [
  684.      Description ("Unique identifier for the port. This idenitifer must "
  685.                   "be unique among all ports on all adapters. The same "
  686.                   "value for the identifier must be used for the same port "
  687.                   "in other classes that expose port information") : amended,
  688.      WmiRefClass("MSFC_FibrePort"),
  689.      WmiRefProperty("UniquePortId"),
  690.      WmiDataId(1)
  691.     ]
  692.     uint64 UniquePortId;                
  693.  
  694.     [WmiDataId(2), HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ]
  695.     uint32 HBAStatus;
  696.  
  697.     
  698.  
  699.     [WmiDataId(3) ]
  700.     MSFC_HBAPortStatistics Statistics;
  701. };
  702.  
  703.  
  704.  
  705.  
  706. [WMI, 
  707.  Dynamic,
  708.  Provider("wmiprov"),
  709.  Description("This class exposes operations that can be performed on "
  710.              "a Fibre Channel port. There should be one instance of this "
  711.              "class for each port.") : amended,
  712.  guid("{E693553E-EDF6-4D57-BF08-EFCAAE1A2E1C}")
  713. ]
  714. class MSFC_FibrePortHBAMethods
  715. {
  716.     [key] 
  717.     string  InstanceName;
  718.     boolean Active;
  719.  
  720.     [
  721.      Implemented,
  722.      WmiMethodId(1)
  723.     ]
  724.     void ResetStatistics();
  725. };
  726.  
  727.  
  728. [WMI,
  729.  guid("{CA8E7FE6-B85E-497f-8858-9B5D93A66FE1}")
  730. ]
  731. class MSFC_FC4STATISTICS
  732. {
  733.     [WmiDataId(1) ]
  734.     uint64 InputRequests;
  735.  
  736.     [WmiDataId(2) ]
  737.     uint64 OutputRequests;
  738.  
  739.     [WmiDataId(3) ]
  740.     uint64 ControlRequests;
  741.  
  742.     [WmiDataId(4) ]
  743.     uint64 InputMegabytes;
  744.  
  745.     [WmiDataId(5) ]
  746.     uint64 OutputMegabytes;
  747. };
  748.  
  749.  
  750. [WMI, 
  751.  Description("") : amended,
  752.  guid("{623F4588-CF01-4f0e-B197-ABBEE5E0CFF3}")
  753. ]
  754. class MSFC_EventBuffer
  755. {
  756.     [WmiDataId(1)]
  757.     uint32 EventType;
  758.  
  759.     [WmiDataId(2)]
  760.     uint32 EventInfo[4];
  761. };
  762.  
  763.  
  764. [WMI, 
  765.  Dynamic,
  766.  Provider("wmiprov"),
  767.  Description("This class exposes port discovery operations that can be by a "
  768.              "fibre channel adapter. There should be one instance of this "
  769.              "class for each adapter") : amended,
  770.  guid("{DF87D4ED-4612-4D12-85FB-83574EC34B7C}")
  771. ]
  772. class MSFC_HBAAdapterMethods
  773. {
  774.     [key] 
  775.     string  InstanceName;
  776.     boolean Active;
  777.  
  778.     [ Implemented, WmiMethodId(1) ]
  779.     void GetDiscoveredPortAttributes(
  780.             [in ] uint32 PortIndex,
  781.             [in ] uint32 DiscoveredPortIndex,
  782.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  783.             [out, HBAType("HBA_PORTATTRIBUTES") ] 
  784.                 MSFC_HBAPortAttributesResults PortAttributes
  785.             );
  786.  
  787.     [ Implemented, WmiMethodId(2) ]
  788.     void GetPortAttributesByWWN(
  789.             [in, HBAType("HBA_WWN")] uint8 wwn[8],
  790.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  791.             [out, HBAType("HBA_PORTATTRIBUTES") ] 
  792.                 MSFC_HBAPortAttributesResults PortAttributes
  793.             );
  794.     
  795.     [ Implemented, WmiMethodId(3) ]
  796.     void RefreshInformation();
  797.  
  798.     [ Implemented, WmiMethodId(4) ]
  799.     void SendCTPassThru(
  800.             [in, HBAType("HBA_WWN")] uint8 PortWWN[8],
  801.             [in] uint32 RequestBufferCount,
  802.             [in, WmiSizeIs("RequestBufferCount")] uint8 RequestBuffer[],
  803.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  804.             [out] uint32 TotalResponseBufferCount,
  805.             [out] uint32 ActualResponseBufferCount,
  806.             [out, 
  807.              cpp_quote("#define SendCTPassThru_OUT_ResponseBuffer_SIZE_HINT 768\n"),
  808.              WmiSizeIs("ActualResponseBufferCount")] uint8 ResponseBuffer[]
  809.             );
  810.  
  811.     [ Implemented, WmiMethodId(5) ]
  812.     void SendRNID(
  813.             [in, HBAType("HBA_WWN") ] uint8 wwn[8],
  814.             [in, HBAType("HBA_WWNTYPE"), 
  815.                 Values{"NODE_WWN", "PORT_WWN"}, 
  816.                 ValueMap{"0", "1"} ] uint32 wwntype,
  817.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  818.             [out] uint32 ResponseBufferCount,
  819.             [out,
  820.              cpp_quote("#define SendRNID_OUT_ResponseBuffer_SIZE_HINT 76\n"),
  821.              WmiSizeIs("ResponseBufferCount")] uint8 ResponseBuffer[]
  822.             );
  823.               
  824.  
  825.     [ Implemented, WmiMethodId(6) ]
  826.     void SendRNIDV2(
  827.             [in, HBAType("HBA_WWN")] uint8 PortWWN[8],
  828.             [in, HBAType("HBA_WWN")] uint8 DestWWN[8],
  829.             [in] uint32 DestFCID,
  830.             [in] uint32 NodeIdDataFormat,
  831.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  832.             [out] uint32 TotalRspBufferSize,
  833.             [out] uint32 ActualRspBufferSize,
  834.             [out, 
  835.              cpp_quote("#define SendRNIDV2_OUT_RspBuffer_SIZE_HINT 76\n"),
  836.              WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]
  837.             );
  838.  
  839.     [ Implemented, WmiMethodId(7) ]
  840.     void GetFC3MgmtInfo(
  841.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  842.             [out] HBAFC3MgmtInfo MgmtInfo
  843.             );
  844.  
  845.     [ Implemented, WmiMethodId(8) ]
  846.     void SetFC3MgmtInfo(
  847.             [in] HBAFC3MgmtInfo MgmtInfo,
  848.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  849.             );
  850.  
  851.     [ Implemented, WmiMethodId(9) ]
  852.     void SendRPL(
  853.             [in, HBAType("HBA_WWN")] uint8 PortWWN[8],
  854.             [in, HBAType("HBA_WWN")] uint8 AgentWWN[8],
  855.             [in] uint32 agent_domain,
  856.             [in] uint32 portIndex,
  857.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  858.             [out] uint32 TotalRspBufferSize,
  859.             [out] uint32 ActualRspBufferSize,
  860.             [out,
  861.              cpp_quote("#define SendRPL_OUT_RspBuffer_SIZE_HINT 28 // 12+16*n\n"),
  862.              WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]
  863.             );
  864.  
  865.  
  866.     [ Implemented, WmiMethodId(10) ]
  867.     void SendRPS(
  868.             [in, HBAType("HBA_WWN")] uint8 PortWWN[8],
  869.             [in, HBAType("HBA_WWN")] uint8 AgentWWN[8],
  870.             [in, HBAType("HBA_WWN")] uint8 ObjectWWN[8],
  871.             [in] uint32 AgentDomain,
  872.             [in] uint32 ObjectPortNumber,
  873.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  874.             [out] uint32 TotalRspBufferSize,
  875.             [out] uint32 ActualRspBufferSize,
  876.             [out,
  877.              cpp_quote("#define SendRPS_OUT_RspBuffer_SIZE_HINT 64\n"),
  878.              WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]
  879.             );
  880.  
  881.  
  882.     [ Implemented, WmiMethodId(11) ]
  883.     void SendSRL(
  884.             [in, HBAType("HBA_WWN")] uint8 PortWWN[8],
  885.             [in, HBAType("HBA_WWN")] uint8 WWN[8],
  886.             [in] uint32 Domain,
  887.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  888.             [out] uint32 TotalRspBufferSize,
  889.             [out] uint32 ActualRspBufferSize,
  890.             [out, 
  891.              cpp_quote("#define SendSRL_OUT_RspBuffer_SIZE_HINT 8\n"),
  892.              WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]
  893.             );
  894.  
  895.     [ Implemented, WmiMethodId(12) ]
  896.     void SendLIRR(
  897.             [in, HBAType("HBA_WWN")] uint8 SourceWWN[8],
  898.             [in, HBAType("HBA_WWN")] uint8 DestWWN[8],
  899.             [in] uint8 Function,
  900.             [in] uint8 Type,
  901.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  902.             [out] uint32 TotalRspBufferSize,
  903.             [out] uint32 ActualRspBufferSize,
  904.             [out, 
  905.              cpp_quote("#define SendLIRR_OUT_RspBuffer_SIZE_HINT 8\n"),
  906.              WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]
  907.             );
  908.  
  909.     [ Implemented, WmiMethodId(13) ]
  910.     void GetFC4Statistics(
  911.             [in, HBAType("HBA_WWN")] uint8 PortWWN[8],
  912.             [in] uint8 FC4Type,
  913.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  914.             [out] MSFC_FC4STATISTICS FC4Statistics
  915.             );
  916.  
  917.  
  918.     [ Implemented, WmiMethodId(14) ]
  919.     void GetFCPStatistics(
  920.             [in ] HBAScsiID ScsiId,
  921.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  922.             [out] MSFC_FC4STATISTICS FC4Statistics
  923.             );
  924.  
  925.  
  926.     [ Implemented, WmiMethodId(15) ]
  927.     void ScsiInquiry(
  928.             [in] uint8 Cdb[6],
  929.             [in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],
  930.             [in, HBAType("HBA_WWN")] uint8 DiscoveredPortWWN[8],
  931.             [in] uint64 FcLun,
  932.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  933.             [out] uint32 ResponseBufferSize,
  934.             [out] uint32 SenseBufferSize,
  935.             [out] uint8 ScsiStatus,
  936.             [out, 
  937.              cpp_quote("#define ScsiInquiry_OUT_ResponseBuffer_SIZE_HINT 96\n"),
  938.              WmiSizeIs("ResponseBufferSize") ] uint8 ResponseBuffer[],
  939.             [out, 
  940.              WmiSizeIs("SenseBufferSize") ] uint8 SenseBuffer[]
  941.             );
  942.                      
  943.     
  944.     [ Implemented, WmiMethodId(16) ]
  945.     void ScsiReadCapacity(
  946.             [in] uint8 Cdb[10],
  947.             [in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],
  948.             [in, HBAType("HBA_WWN")] uint8 DiscoveredPortWWN[8],
  949.             [in] uint64 FcLun,
  950.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  951.             [out] uint32 ResponseBufferSize,
  952.             [out] uint32 SenseBufferSize,
  953.             [out] uint8 ScsiStatus,
  954.             [out, 
  955.              cpp_quote("#define ScsiReadCapacity_OUT_ResponseBuffer_SIZE_HINT 16\n"),
  956.              WmiSizeIs("ResponseBufferSize")] uint8 ResponseBuffer[],
  957.             [out, 
  958.              WmiSizeIs("SenseBufferSize")] uint8 SenseBuffer[]
  959.             );
  960.                      
  961.     [ Implemented, WmiMethodId(17) ]
  962.     void ScsiReportLuns(
  963.             [in] uint8 Cdb[12],
  964.             [in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],
  965.             [in, HBAType("HBA_WWN")] uint8 DiscoveredPortWWN[8],
  966.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  967.             [out] uint32 ResponseBufferSize,
  968.             [out] uint32 SenseBufferSize,
  969.             [out] uint8  ScsiStatus,
  970.             [out, 
  971.              cpp_quote("#define ScsiReportLuns_OUT_ResponseBuffer_SIZE_HINT 16 // 8+8*number_of_luns\n"),
  972.              WmiSizeIs("ResponseBufferSize") ] uint8 ResponseBuffer[],
  973.             [out, WmiSizeIs("SenseBufferSize") ] uint8 SenseBuffer[]
  974.             );
  975.  
  976.     
  977.     [ Implemented, WmiMethodId(18) ]
  978.     void GetEventBuffer(
  979.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  980.             [out ] uint32 EventCount,
  981.             [out, WmiSizeIs("EventCount") ] MSFC_EventBuffer Events[]
  982.             );
  983.  
  984.     [ Implemented, WmiMethodId(19) ]
  985.     void SendRLS(
  986.             [in, HBAType("HBA_WWN")] uint8 PortWWN[8],
  987.             [in, HBAType("HBA_WWN")] uint8 DestWWN[8],
  988.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  989.             [out] uint32 TotalRspBufferSize,
  990.             [out] uint32 ActualRspBufferSize,
  991.             [out, 
  992.              cpp_quote("#define SendRLS_OUT_RspBuffer_SIZE_HINT 28\n"),  
  993.              WmiSizeIs("ActualRspBufferSize")] uint8 RspBuffer[]
  994.             );
  995. };
  996.  
  997.  
  998. [HBAType("HBA_FCPID"),
  999.  WMI,
  1000.  guid("{FF02BC96-7FB0-4bac-8F97-C71E495FA698}")
  1001. ]
  1002. class HBAFCPID
  1003. {
  1004.     [ WmiDataId(1) ]
  1005.     uint32 Fcid;
  1006.  
  1007.     [HBAType("HBA_WWN"), WmiDataId(2) ]
  1008.     uint8 NodeWWN[8];
  1009.  
  1010.     [HBAType("HBA_WWN"), WmiDataId(3) ]
  1011.     uint8 PortWWN[8];
  1012.  
  1013.     [ WmiDataId(4) ]
  1014.     uint64 FcpLun;
  1015. };
  1016.  
  1017.  
  1018.  
  1019. [HBAType("HBA_FCPSCSIENTRY"),
  1020.  WMI,
  1021.  guid("{77CA1248-1505-4221-8EB6-BBB6EC771A87}")
  1022. ]
  1023. class HBAFCPScsiEntry
  1024. {
  1025.     [ HBAType("HBA_FCPID"), WmiDataId(1) ]
  1026.     HBAFCPID FCPId;
  1027.  
  1028.     [ HBAType("HBA_LUID"), WmiDataId(2) ]
  1029.     uint8 Luid[256];
  1030.  
  1031.     [
  1032.      HBAType("HBA_SCSIID"),
  1033.      WmiDataId(3)
  1034.     ]
  1035.     HBAScsiID ScsiId;
  1036. };
  1037.  
  1038.  
  1039. [HBAType("HBA_FCPBINDINGENTRY"),
  1040.  WMI,
  1041.  guid("{FCEFF8B7-9D6B-4115-8422-05992451A629}")
  1042. ]
  1043. class HBAFCPBindingEntry
  1044. {
  1045.     [HBAType("HBA_FCPBINDINGTYPE"),
  1046.      Values{"TO_D_ID", "TO_WWN", "TO_OTHER"},
  1047.      ValueMap{"0", "1", "2"},
  1048.      WmiDataId(1)
  1049.     ]
  1050.     uint32 Type;
  1051.  
  1052.     [HBAType("HBA_FCID"),
  1053.      WmiDataId(2)
  1054.     ]
  1055.     HBAFCPID FCPId;
  1056.  
  1057.     [HBAType("HBA_SCSIID"),
  1058.      WmiDataId(3)
  1059.     ]
  1060.     HBAScsiID ScsiId;
  1061. };
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078. [WMI,
  1079.  guid("{3A1E7679-4B1F-4f31-A8AE-FE9278730924}")
  1080. ]
  1081. class HBAFCPBindingEntry2
  1082. {
  1083.     [WmiDataId(1),
  1084.      Description("Ways of performing persistent binding") : amended, BitValues{ "HBA_BIND_TO_D_ID", "HBA_BIND_TO_WWPN", "HBA_BIND_TO_WWNN", "HBA_BIND_TO_LUID" "HBA_BIND_TARGETS" }, BitMap{ "0x01", "0x02", "0x04", "0x08", "0x0800"}
  1085.     ]
  1086.     uint32 Type;
  1087.  
  1088.     [HBAType("HBA_FCID"),
  1089.      WmiDataId(2)
  1090.     ]
  1091.     HBAFCPID FCPId;
  1092.  
  1093.     [HBAType("HBA_LUID"),
  1094.      WmiDataId(3)
  1095.     ]
  1096.     uint8 Luid[256];
  1097.  
  1098.     [HBAType("HBA_SCSIID"),
  1099.      WmiDataId(4) 
  1100.     ]
  1101.     HBAScsiID ScsiId;
  1102.  
  1103. };
  1104.  
  1105.  
  1106.  
  1107. [WMI, 
  1108.  Dynamic,
  1109.  Provider("wmiprov"),
  1110.  Description("This class exposes operations associated with FCP "
  1111.              "on a Fibre Channel adapter. There should be one instance of this "
  1112.              "class for each adapter.") : amended,
  1113.  guid("{7A1FC391-5B23-4C19-B0EB-B1AEF59050C3}")
  1114. ]
  1115. class MSFC_HBAFCPInfo
  1116. {
  1117.     [key] 
  1118.     string InstanceName;
  1119.     boolean Active;
  1120.  
  1121.     [ Implemented, WmiMethodId(1) ]
  1122.     void GetFcpTargetMapping(
  1123.             [in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],              
  1124.             [in ] uint32 InEntryCount,
  1125.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  1126.             [out] uint32 TotalEntryCount,
  1127.             [out] uint32 OutEntryCount,
  1128.             [out, WmiSizeIs("OutEntryCount")] HBAFCPScsiEntry Entry[]
  1129.             );
  1130.  
  1131.     [ Implemented, WmiMethodId(2) ]
  1132.     void GetFcpPersistentBinding(
  1133.             [in ] uint32 InEntryCount,
  1134.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  1135.             [out] uint32 TotalEntryCount,
  1136.             [out] uint32 OutEntryCount,
  1137.             [out, WmiSizeIs("OutEntryCount") ] HBAFCPBindingEntry Entry[]
  1138.             );
  1139.  
  1140.     [ Implemented, WmiMethodId(3) ]
  1141.     void GetBindingCapability(
  1142.             [in, HBAType("HBA_WWN") ] uint8 PortWWN[8],
  1143.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  1144.             [out, Description("Ways of performing persistent binding") : amended, BitValues{ "HBA_BIND_TO_D_ID", "HBA_BIND_TO_WWPN", "HBA_BIND_TO_WWNN", "HBA_BIND_TO_LUID" "HBA_BIND_TARGETS" }, BitMap{ "0x01", "0x02", "0x04", "0x08", "0x0800"} ] uint32 BindType
  1145.             );
  1146.  
  1147.     [ Implemented, WmiMethodId(4) ]
  1148.     void GetBindingSupport(
  1149.             [in, HBAType("HBA_WWN") ] uint8 PortWWN[8],
  1150.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  1151.             [out, Description("Ways of performing persistent binding") : amended, BitValues{ "HBA_BIND_TO_D_ID", "HBA_BIND_TO_WWPN", "HBA_BIND_TO_WWNN", "HBA_BIND_TO_LUID" "HBA_BIND_TARGETS" }, BitMap{ "0x01", "0x02", "0x04", "0x08", "0x0800"} ] uint32 BindType
  1152.             );
  1153.  
  1154.     [ Implemented, WmiMethodId(5) ]
  1155.     void SetBindingSupport(
  1156.             [in, HBAType("HBA_WWN") ] uint8 PortWWN[8],
  1157.             [in, Description("Ways of performing persistent binding") : amended, BitValues{ "HBA_BIND_TO_D_ID", "HBA_BIND_TO_WWPN", "HBA_BIND_TO_WWNN", "HBA_BIND_TO_LUID" "HBA_BIND_TARGETS" }, BitMap{ "0x01", "0x02", "0x04", "0x08", "0x0800"} ] uint32 BindType,
  1158.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  1159.             );
  1160.  
  1161.     [ Implemented, WmiMethodId(6) ]
  1162.     void GetPersistentBinding2(
  1163.             [in, HBAType("HBA_WWN") ] uint8 PortWWN[8],
  1164.             [in ] uint32 InEntryCount,
  1165.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  1166.             [out] uint32 TotalEntryCount,
  1167.             [out] uint32 OutEntryCount,
  1168.             [out, WmiSizeIs("OutEntryCount") ] HBAFCPBindingEntry2 Bindings[]
  1169.             );
  1170.  
  1171.     [
  1172.     cpp_quote("\n"
  1173.     "//*********************************************************************\n"
  1174.     "//\n"
  1175.     "//  A call to HBA_SetPersistentBindingV2 will call SetPersistentEntry\n"
  1176.     "//  once for each binding entry.\n"
  1177.     "//  Each binding entry that SetPersistentEntry accepts will be stored\n"
  1178.     "//  in the registry.\n"
  1179.     "//\n"
  1180.     "//  Persistent bindings are stored in the registry under:\n"
  1181.     "//\n"
  1182.     "//     System\\CurrentControlSet\\Control\\Storage\\FC\\<PortWWN>\n"
  1183.     "//\n"
  1184.     "//         under the REG_BINARY key Bindings  is the struct:\n"
  1185.     "//\n"
  1186.     "//             typedef struct {\n"
  1187.     "//                 ULONG            Version;\n"
  1188.     "//                 HBA_FCPBINDING2  Bindings;\n"
  1189.     "//             } HBAP_PERSISTENT_BINDINGS, *PHBAP_PERSISTENT_BINDINGS;\n"
  1190.     "//\n"
  1191.     "//  This is done so that storport capable drivers may have access to\n"
  1192.     "//  this information during boot\n"     
  1193.     "//\n"
  1194.     "//********************************************************************\n"
  1195.     "\n"
  1196.     "#define HBA_REGISTRY_BINDING_VERSION        (1)\n"
  1197.     "#define HBA_REGISTRY_BINDING_RELATIVE_PATH  L\"System\\\\CurrentControlSet\\\\Control\\\\Storage\\\\FC\"\n"
  1198.     "#define HBA_REGISTRY_BINDING_KEY            L\"Bindings\"\n"
  1199.     "\n"),
  1200.      Implemented,
  1201.      WmiMethodId(7)
  1202.     ]
  1203.     void SetPersistentEntry(
  1204.             [in, HBAType("HBA_WWN") ] uint8 PortWWN[8],
  1205.             [in, HbaType("HBA_FCPBINDINGENTRY2") ] HBAFCPBindingEntry2 Binding,
  1206.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  1207.             );
  1208.  
  1209.     [ Implemented, WmiMethodId(8) ]
  1210.     void RemovePersistentEntry(
  1211.             [in, HBAType("HBA_WWN") ] uint8 PortWWN[8],
  1212.             [in, HbaType("HBA_FCPBINDINGENTRY2") ] HBAFCPBindingEntry2 Binding,
  1213.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  1214.             );
  1215.  
  1216. };
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223. [ WMI, 
  1224.  Description("This class surfaces HBA adapter events") : amended,
  1225.  guid("{E9E47403-D1D7-43F8-8EE3-53CDBFFF5646}"),
  1226.  Provider("wmiprov"),
  1227.  Dynamic
  1228. ]
  1229. class MSFC_AdapterEvent : WMIEvent
  1230. {
  1231.     [key] 
  1232.     string  InstanceName;
  1233.     boolean Active;
  1234.  
  1235.     [WmiDataId(1),
  1236.      Description("Event Type") : amended,
  1237.      EVENT_TYPE_QUALIFIERS
  1238.     ]
  1239.     uint32 EventType;
  1240.     
  1241.     [WmiDataId(2),
  1242.      Description("Adapter WWN") : amended,
  1243.      HBAType("HBA_WWN")
  1244.     ]
  1245.     uint8 PortWWN[8];
  1246.  
  1247. };
  1248.  
  1249.  
  1250. [WMI, 
  1251.  Description("This class surfaces HBA port events") : amended,
  1252.  guid("{095FBE97-3876-48EF-8A04-1C55935D0DF5}"),
  1253.  Provider("wmiprov"),
  1254.  Dynamic
  1255. ]
  1256. class MSFC_PortEvent : WMIEvent
  1257. {
  1258.     [key] 
  1259.     string  InstanceName;
  1260.     boolean Active;
  1261.  
  1262.     [WmiDataId(1),
  1263.      Description("Type of event") : amended,
  1264.      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" }, 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", "0x403" "0x500", "0x501" }
  1265.     ]
  1266.     uint32 EventType;
  1267.  
  1268.     [WmiDataId(2),
  1269.      Description("Fabric port id") : amended
  1270.     ]
  1271.     uint32 FabricPortId;
  1272.  
  1273.     [WmiDataId(3),
  1274.      Description("Port WWN") : amended,
  1275.      HBAType("HBA_WWN")
  1276.     ]
  1277.     uint8 PortWWN[8];
  1278. };
  1279.  
  1280.  
  1281. [WMI, 
  1282.  Description("This class surfaces HBA target events") : amended,
  1283.  guid("{CFA6EF26-8675-4E27-9A0B-B4A860DDD0F3}"),
  1284.  Provider("wmiprov"),
  1285.  Dynamic
  1286. ]
  1287. class MSFC_TargetEvent : WmiEvent
  1288. {
  1289.     [key] 
  1290.     string InstanceName;
  1291.     boolean Active;
  1292.  
  1293.     [WmiDataId(1),
  1294.      Description("Type of event") : amended,
  1295.      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" }, 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", "0x403" "0x500", "0x501" }
  1296.     ]
  1297.     uint32 EventType;
  1298.     
  1299.     [WmiDataId(2),
  1300.      Description("Port WWN") : amended,
  1301.      HBAType("HBA_WWN")
  1302.     ]
  1303.     uint8 PortWWN[8];
  1304.  
  1305.     [WmiDataId(3),
  1306.      Description("Discovered Port WWN") : amended,
  1307.      HBAType("HBA_WWN")
  1308.     ]
  1309.     uint8 DiscoveredPortWWN[8];
  1310.  
  1311. };
  1312.  
  1313.  
  1314. [WMI, 
  1315.  Dynamic,
  1316.  Provider("wmiprov"),
  1317.  Description("This class defines the port statistics thresholds that "
  1318.              "will cause a HBA_EVENT_PORT_STAT_THRESHOLD event to occur") : amended,
  1319.  guid("{A251CCB3-5AB0-411B-8771-5430EF53A26C}")
  1320. ]
  1321. class MSFC_EventControl 
  1322.     [key] 
  1323.     string  InstanceName; 
  1324.     boolean Active; 
  1325.  
  1326.     
  1327.     
  1328.     
  1329.     [ Implemented, WmiMethodId(10) ]
  1330.     void AddTarget(
  1331.             [in, HBAType("HBA_WWN") ] uint8 HbaPortWWN[8],
  1332.             [in, HBAType("HBA_WWN") ] uint8 DiscoveredPortWWN[8],
  1333.             [in ] uint32 AllTargets,
  1334.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  1335.             );
  1336.     
  1337.  
  1338.     [ Implemented, WmiMethodId(11) ]
  1339.     void RemoveTarget(
  1340.             [in, HBAType("HBA_WWN") ] uint8 HbaPortWWN[8],
  1341.             [in, HBAType("HBA_WWN") ] uint8 DiscoveredPortWWN[8],
  1342.             [in ] uint32 AllTargets,
  1343.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  1344.             );
  1345.                        
  1346.     
  1347.     
  1348.     
  1349.     [ Implemented, WmiMethodId(20) ]
  1350.     void AddPort(
  1351.             [in, HBAType("HBA_WWN") ] uint8 PortWWN[8],
  1352.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  1353.             );
  1354.  
  1355.     [ Implemented, WmiMethodId(21) ]
  1356.     void RemovePort(
  1357.             [in, HBAType("HBA_WWN") ] uint8 PortWWN[8],
  1358.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  1359.             );
  1360.  
  1361.  
  1362.     
  1363.     
  1364.     
  1365.     [ Implemented, WmiMethodId(30) ]
  1366.     void AddLink(
  1367.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  1368.             );
  1369.     
  1370.  
  1371.     [ Implemented, WmiMethodId(31) ]
  1372.     void RemoveLink(
  1373.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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] uint32 HBAStatus
  1374.             );
  1375.     
  1376. };
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389. [cpp_quote("\n"
  1390.            "#endif // MSFC_HBA_API\n"
  1391.            "\n"
  1392.            "#ifdef MS_SM_HBA_API\n"),
  1393.  WMI, 
  1394.  Dynamic,
  1395.  Provider("wmiprov"),
  1396.  Description("This class exposes the SM-HBA Adapter attributes. This will"
  1397.              " include the number of ports on this adapter.") : amended,
  1398.  guid("{bdc67efa-e5e7-4777-b13c-621459657099}")
  1399. ]
  1400. class MS_SM_AdapterInformationQuery
  1401. {
  1402.     [key] 
  1403.     string  InstanceName;
  1404.     boolean Active;
  1405.  
  1406.     [Description ("Unique identifier for the adapter. This idenitifer must "
  1407.                   "be unique among all adapters. The same "
  1408.                   "value for the identifier must be used for the same adapter "
  1409.                   "in other classes that expose adapter information") : amended,
  1410.  
  1411.   
  1412.      WmiRefProperty("UniqueAdapterId"),
  1413.      WmiDataId(1)
  1414.     ]
  1415.     uint64 UniqueAdapterId;             
  1416.                                         
  1417.  
  1418.     [HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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, 
  1419.      WmiDataId(2)
  1420.     ]
  1421.     uint32 HBAStatus;
  1422.  
  1423.     [WmiDataId(3)]
  1424.     uint32 NumberOfPorts;   
  1425.  
  1426.     [WmiDataId(4)]
  1427.     uint32 VendorSpecificID;
  1428.  
  1429.     [
  1430.      cpp_quote("\n"
  1431.      "   //******************************************************************\n"
  1432.      "   //\n"
  1433.      "   //  The string type is variable length (up to MaxLen).              \n"
  1434.      "   //  Each string starts with a ushort that holds the strings length  \n"
  1435.      "   //  (in bytes) followed by the WCHARs that make up the string.      \n"
  1436.      "   //\n"
  1437.      "   //  This struct is packed so the offset for SerialNumber must be    \n"
  1438.      "   //  computed from the offset of Manufacturer.                       \n"
  1439.      "   //   i.e. SerialNumber = Manufacturer+sizeof(USHORT)+Manufacturer[0]\n"
  1440.      "   //\n"
  1441.      "   //  similarly Model's offset must be computed from SerialNumber etc.\n"
  1442.      "   //\n"
  1443.      "   //******************************************************************\n"
  1444.      "\n"),
  1445.  
  1446.      MaxLen(64), 
  1447.      WmiDataId(5)
  1448.     ]
  1449.     string Manufacturer;
  1450.  
  1451.     [MaxLen(64), WmiDataId(6)]
  1452.     string SerialNumber;
  1453.  
  1454.     [MaxLen(256), WmiDataId(7)]
  1455.     string Model;
  1456.  
  1457.     [MaxLen(256), WmiDataId(8)]
  1458.     string ModelDescription;
  1459.  
  1460.     [MaxLen(256), WmiDataId(9)]
  1461.     string HardwareVersion;
  1462.  
  1463.     [MaxLen(256), WmiDataId(10)]
  1464.     string DriverVersion;
  1465.  
  1466.     [MaxLen(256), WmiDataId(11)]
  1467.     string OptionROMVersion;
  1468.  
  1469.     [MaxLen(256), WmiDataId(12)]
  1470.     string FirmwareVersion;
  1471.  
  1472.     [MaxLen(256), WmiDataId(13)]
  1473.     string DriverName;
  1474.  
  1475.     [MaxLen(256), WmiDataId(14)]
  1476.     string HBASymbolicName;
  1477.  
  1478.     [MaxLen(256), WmiDataId(15)]
  1479.     string RedundantOptionROMVersion;
  1480.  
  1481.     [MaxLen(256), WmiDataId(16)]
  1482.     string RedundantFirmwareVersion;
  1483.  
  1484.     [MaxLen(256), WmiDataId(17)]
  1485.     string MfgDomain;
  1486. };
  1487.  
  1488.  
  1489.  
  1490. [WMI,
  1491.  Description("This class is the FC_Port attributes") : amended,
  1492.  guid("{96b827a7-2b4a-49c8-9097-078200c5a5cd}")
  1493. ]
  1494. class MS_SMHBA_FC_Port 
  1495. {
  1496.     [HBAType("HBA_WWN"), WmiDataId(1)]
  1497.     uint8   NodeWWN[8];
  1498.  
  1499.     [HBAType("HBA_WWN"), WmiDataId(2)]
  1500.     uint8   PortWWN[8];
  1501.  
  1502.     [WmiDataId(3)]
  1503.     uint32  FcId;
  1504.  
  1505.     [HBAType("HBA_COS"), WmiDataId(4)]
  1506.     uint32  PortSupportedClassofService;
  1507.  
  1508.     [HBAType("HBA_FC4TYPES"), WmiDataId(5)]
  1509.     uint8   PortSupportedFc4Types[32];
  1510.  
  1511.     [HBAType("HBA_FC4TYPES"), WmiDataId(6)]
  1512.     uint8   PortActiveFc4Types[32];
  1513.  
  1514.     [HBAType("HBA_WWN"), WmiDataId(7)]
  1515.     uint8   FabricName[8];
  1516.  
  1517.     [WmiDataId(8)]
  1518.     uint32  NumberofDiscoveredPorts;
  1519.  
  1520.     [WmiDataId(9)] 
  1521.     uint8   NumberofPhys;
  1522.  
  1523.     [MaxLen(256), WmiDataId(10)]
  1524.     string  PortSymbolicName;
  1525. };
  1526.  
  1527.  
  1528. [WMI,
  1529.  Description("This class is the SAS_Port attributes") : amended,
  1530.  guid("{b914e34f-7b80-46b0-8034-6d9b689e1ddd}")
  1531. ]
  1532. class MS_SMHBA_SAS_Port 
  1533. {
  1534.     [HBAType("HBA_SASPORTPROTOCOL"), WmiDataId(1)]
  1535.     uint32  PortProtocol;
  1536.  
  1537.     [HBAType("HBA_WWN"), WmiDataId(2)]
  1538.     uint8   LocalSASAddress[8];
  1539.  
  1540.     [HBAType("HBA_WWN"), WmiDataId(3)]
  1541.     uint8   AttachedSASAddress[8];
  1542.  
  1543.     [WmiDataId(4)]
  1544.     uint32  NumberofDiscoveredPorts;
  1545.  
  1546.     [WmiDataId(5)]
  1547.     uint32  NumberofPhys;
  1548. };
  1549.  
  1550.  
  1551. [WMI,
  1552.  guid("{50a97b2d-99ad-4cf9-8437-b4ea0c07be4c}")
  1553. ]
  1554. class MS_SMHBA_PORTATTRIBUTES 
  1555. {
  1556.     [HBAType("HBA_PORTTYPE"), 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, ValueMap{"1", "2", "3", "5", "6", "7", "8", "9", "10", "20", "21", "30", "31", "32"}, WmiDataId(1)]
  1557.     uint32 PortType;
  1558.  
  1559.     [HBAType("HBA_PORTSTATE"), Values{"Unknown", "Operational", "User Offline", "Bypassed", "In diagnostics mode", "Link Down", "Port Error", "Loopback", "Degraded" } : amended, ValueMap{"1","2","3","4","5","6","7","8", "9"}, WmiDataId(2)]
  1560.     uint32 PortState;
  1561.  
  1562.     [WmiDataId(3),
  1563.      Description("Size of MS_SMHBA_SAS_Port or MS_SMHBA_FC_Port") : amended
  1564.     ]
  1565.     uint32 PortSpecificAttributesSize;
  1566.  
  1567.     [MaxLen(256), WmiDataId(4)]
  1568.     string OSDeviceName;
  1569.  
  1570.     [WmiDataId(5)]
  1571.     uint64 Reserved;
  1572.  
  1573.     [WmiDataId(6),
  1574.      Description(" MS_SMHBA_SAS_Port or MS_SMHBA_FC_Port Buffer") : amended,
  1575.      WmiSizeIs("PortSpecificAttributesSize")
  1576.     ]
  1577.     uint8 PortSpecificAttributes[];
  1578. };
  1579.  
  1580.  
  1581. [WMI,
  1582.  guid("{b557bd86-4128-4d5c-b6e6-b65f9bd68722}")
  1583. ]
  1584. class MS_SMHBA_PROTOCOLSTATISTICS
  1585. {
  1586.     [WmiDataId(1)]
  1587.     sint64 SecondsSinceLastReset;
  1588.  
  1589.     [WmiDataId(2)]
  1590.     sint64 InputRequests;
  1591.  
  1592.     [WmiDataId(3)]
  1593.     sint64 OutputRequests;
  1594.  
  1595.     [WmiDataId(4)]
  1596.     sint64 ControlRequests;
  1597.  
  1598.     [WmiDataId(5)]
  1599.     sint64 InputMegabytes;
  1600.  
  1601.     [WmiDataId(6)]
  1602.     sint64 OutputMegabytes;
  1603. };
  1604.  
  1605.  
  1606. [WMI,
  1607.  guid("{bd458e7d-c40a-4401-a179-11919cbcc5c6}")
  1608. ]
  1609. class MS_SMHBA_SASPHYSTATISTICS
  1610. {
  1611.     [WmiDataId(1)]
  1612.     sint64 SecondsSinceLastReset;
  1613.  
  1614.     [WmiDataId(2)]
  1615.     sint64 TxFrames;
  1616.  
  1617.     [WmiDataId(3)]
  1618.     sint64 TxWords;
  1619.  
  1620.     [WmiDataId(4)]
  1621.     sint64 RxFrames;
  1622.  
  1623.     [WmiDataId(5)]
  1624.     sint64 RxWords;
  1625.  
  1626.     [WmiDataId(6)]
  1627.     sint64 InvalidDwordCount;
  1628.  
  1629.     [WmiDataId(7)]
  1630.     sint64 RunningDisparityErrorCount;
  1631.  
  1632.     [WmiDataId(8)]
  1633.     sint64 LossofDwordSyncCount;
  1634.  
  1635.     [WmiDataId(9)]
  1636.     sint64 PhyResetProblemCount;
  1637. };
  1638.  
  1639.  
  1640. [WMI,
  1641.  guid("{fb66c8fe-1da0-48a2-92db-02c341143c46}")
  1642. ]
  1643. class MS_SMHBA_FC_PHY 
  1644. {
  1645.     [WmiDataId(1), HBAType("HBA_FCPHYSPEED")]
  1646.     uint32  PhySupportSpeed;
  1647.  
  1648.     [WmiDataId(2), HBAType("HBA_FCPHYSPEED")]
  1649.     uint32  PhySpeed;      
  1650.  
  1651.     [WmiDataId(3), HBAType("HBA_FCPHYTYPE")]
  1652.     uint8   PhyType;
  1653.  
  1654.     [WmiDataId(4)]
  1655.     uint32  MaxFrameSize; 
  1656. };
  1657.  
  1658.  
  1659. [WMI,
  1660.  guid("{dde0a090-96bc-452b-9a64-6fbb6a19c47d}")
  1661. ]
  1662. class MS_SMHBA_SAS_PHY
  1663. {
  1664.     [WmiDataId(1)]
  1665.     uint8   PhyIdentifier;
  1666.  
  1667.     [WmiDataId(2), HBAType("HBA_SASPHYSPEED")]
  1668.     uint32  NegotiatedLinkRate;
  1669.  
  1670.     [WmiDataId(3), HBAType("HBA_SASPHYSPEED")]
  1671.     uint32  ProgrammedMinLinkRate;
  1672.  
  1673.     [WmiDataId(4), HBAType("HBA_SASPHYSPEED")]
  1674.     uint32  HardwareMinLinkRate;
  1675.  
  1676.     [WmiDataId(5), HBAType("HBA_SASPHYSPEED")]
  1677.     uint32  ProgrammedMaxLinkRate;
  1678.  
  1679.     [WmiDataId(6), HBAType("HBA_SASPHYSPEED")]
  1680.     uint32  HardwareMaxLinkRate;
  1681.  
  1682.     [WmiDataId(7), HBAType("HBA_WWN") ]
  1683.     uint8   domainPortWWN[8];
  1684. };
  1685.  
  1686.  
  1687.  
  1688. [WMI,
  1689.  Dynamic,
  1690.  Provider("wmiprov"),
  1691.  Description("This class exposes port information operations that can be "
  1692.              "determined from the adapter.  There should be one instance of "
  1693.              " this class for each adapter") : amended,
  1694.  guid("{5b6a8b86-708d-4ec6-82a6-39adcf6f6433}")
  1695. ]
  1696. class MS_SM_PortInformationMethods
  1697. {
  1698.     [key]
  1699.     string  InstanceName;
  1700.     boolean Active;
  1701.  
  1702.     [Implemented, WmiMethodId(1)]
  1703.     void SM_GetPortType(
  1704.                 [in ] 
  1705.                  uint32  PortIndex,
  1706.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ]
  1707.                  uint32 HBAStatus,
  1708.                 [out, HBAType("HBA_PORTTYPE"), 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, ValueMap{"1", "2", "3", "5", "6", "7", "8", "9", "10", "20", "21", "30", "31", "32"} ]
  1709.                  uint32  PortType
  1710.                 );
  1711.  
  1712.     [Implemented, WmiMethodId(2)]
  1713.     void SM_GetAdapterPortAttributes(
  1714.                 [in ] 
  1715.                  uint32  PortIndex,
  1716.                 [in,
  1717.                  cpp_quote("#define SM_PORT_SPECIFIC_ATTRIBUTES_MAXSIZE "
  1718.                            " max(sizeof(MS_SMHBA_FC_Port), "
  1719.                            " sizeof(MS_SMHBA_SAS_Port))")
  1720.                 ]
  1721.                  uint32  PortSpecificAttributesMaxSize,
  1722.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] 
  1723.                  uint32  HBAStatus,
  1724.                 [out, HBAType("MS_SMHBA_PORTATTRIBUTES") ] 
  1725.                  MS_SMHBA_PORTATTRIBUTES  PortAttributes
  1726.                 );
  1727.  
  1728.     [Implemented, WmiMethodId(3)]
  1729.     void SM_GetDiscoveredPortAttributes(
  1730.                 [in ] uint32  PortIndex,
  1731.                 [in ] uint32  DiscoveredPortIndex,
  1732.                 [in ] uint32  PortSpecificAttributesMaxSize,
  1733.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ]
  1734.                  uint32 HBAStatus,
  1735.                 [out, HBAType("MS_SMHBA_PORTATTRIBUTES") ]
  1736.                  MS_SMHBA_PORTATTRIBUTES PortAttributes
  1737.                 );
  1738.  
  1739.     [Implemented, WmiMethodId(4)]
  1740.     void SM_GetPortAttributesByWWN(
  1741.                 [in, HBAType("HBA_WWN")] uint8  PortWWN[8],
  1742.                 [in, HBAType("HBA_WWN")] uint8  DomainPortWWN[8],
  1743.                 [in ]
  1744.                  uint32 PortSpecificAttributesMaxSize,
  1745.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ]
  1746.                  uint32 HBAStatus,
  1747.                 [out, HBAType("MS_SMHBA_PORTATTRIBUTES") ]
  1748.                  MS_SMHBA_PORTATTRIBUTES PortAttributes
  1749.                 );
  1750.  
  1751.     [Implemented, WmiMethodId(5)]
  1752.     void SM_GetProtocolStatistics(
  1753.                 [in ] uint32  PortIndex,
  1754.                 [in ] uint32  ProtocolType,
  1755.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ]
  1756.                  uint32 HBAStatus,
  1757.                 [out, HBAType("MS_SMHBA_PROTOCOLSTATISTICS") ]
  1758.                  MS_SMHBA_PROTOCOLSTATISTICS ProtocolStatistics
  1759.                 );
  1760.  
  1761.     [Implemented, 
  1762.      Description("Typical counters SMHBA_SASPHYSTATISTICS (9 counters) or"
  1763.                  " MSFC_HBAPortStatistics (15 counters)") : amended,
  1764.      WmiMethodId(6)
  1765.     ]
  1766.     void SM_GetPhyStatistics(
  1767.                 [in ] uint32  PortIndex,
  1768.                 [in ] uint32  PhyIndex,
  1769.                 [in ] uint32  InNumOfPhyCounters,
  1770.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ]
  1771.                  uint32 HBAStatus,
  1772.                 [out] uint32  TotalNumOfPhyCounters, 
  1773.                 [out] uint32  OutNumOfPhyCounters, 
  1774.                 [out, WmiSizeIs("OutNumOfPhyCounters")]
  1775.                  sint64 PhyCounter[]
  1776.                 );
  1777.  
  1778.     [Implemented, WmiMethodId(7)]
  1779.     void SM_GetFCPhyAttributes(
  1780.                 [in ] uint32  PortIndex,
  1781.                 [in ] uint32  PhyIndex,
  1782.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ]
  1783.                  uint32 HBAStatus,
  1784.                 [out, HBAType("MS_SMHBA_FC_PHY") ]
  1785.                  MS_SMHBA_FC_PHY PhyType
  1786.                 );
  1787.  
  1788.     [Implemented, WmiMethodId(8)]
  1789.     void SM_GetSASPhyAttributes(
  1790.                 [in ] uint32  PortIndex,
  1791.                 [in ] uint32  PhyIndex,
  1792.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ]
  1793.                  uint32 HBAStatus,
  1794.                 [out, HBAType("MS_SMHBA_SAS_PHY") ]
  1795.                  MS_SMHBA_SAS_PHY PhyType
  1796.                 );
  1797.  
  1798.     [Implemented, WmiMethodId(10)]
  1799.     void SM_RefreshInformation();
  1800. };
  1801.  
  1802.  
  1803. [WMI,
  1804.  HBAType("MS_SMHBA_PORTLUN"),
  1805.  guid("{0669d100-066e-4e49-a68c-e05199596132}")
  1806. ]
  1807. class MS_SMHBA_PORTLUN 
  1808. {
  1809.     [HBAType("HBA_WWN"), WmiDataId(1)]
  1810.     uint8   PortWWN[8];
  1811.  
  1812.     [HBAType("HBA_WWN"), WmiDataId(2)]
  1813.     uint8   domainPortWWN[8];
  1814.  
  1815.     [HBAType("HBA_SCSILUN"), WmiDataId(3)]
  1816.     uint64  TargetLun;
  1817. };
  1818.  
  1819.  
  1820. [WMI,
  1821.  HBAType("MS_SMHBA_SCSIENTRY"),
  1822.  guid("{125d41bc-7643-4155-b81c-e2f128ad1fb4}")
  1823. ]
  1824. class MS_SMHBA_SCSIENTRY
  1825. {
  1826.     [HBAType("MS_SMHBA_PORTLUN"), WmiDataId(1)]
  1827.     MS_SMHBA_PORTLUN PortLun;
  1828.  
  1829.     [HBAType("HBA_LUID"), WmiDataId(2)]
  1830.     uint8  LUID[256];
  1831.  
  1832.     [HBAType("HBA_SCSIID"), WmiDataId(3)]
  1833.     HBAScsiID ScsiId;
  1834. };
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846. [WMI,
  1847.  HBAType("MS_SMHBA_BINDINGENTRY"),
  1848.  guid("{65bfb548-d00a-4d4c-a357-7daa23bc2e3d}")
  1849. ]
  1850. class MS_SMHBA_BINDINGENTRY
  1851. {
  1852.     [Description("Ways of performing persistent binding") : amended, BitValues{ "SMHBA_BIND_TO_WWPN", "SMHBA_BIND_TO_LUID" }, BitMap{"0x0001", "0x0002"}, WmiDataId(1)]
  1853.     uint32 type;
  1854.  
  1855.     [HBAType("MS_SMHBA_PORTLUN"), WmiDataId(2)]
  1856.     MS_SMHBA_PORTLUN  PortLun;
  1857.  
  1858.     [HBAType("HBA_LUID"), WmiDataId(3)]
  1859.     uint8  LUID[256];
  1860.  
  1861.     [HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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, WmiDataId(4)]
  1862.     uint32 Status;
  1863.  
  1864.     [HBAType("HBA_SCSIID"), WmiDataId(5)]
  1865.     HBAScsiID ScsiId;
  1866. };
  1867.  
  1868.  
  1869.  
  1870.  
  1871.  
  1872.  
  1873.  
  1874.  
  1875. [WMI,
  1876.  Dynamic,
  1877.  Provider("wmiprov"),
  1878.  Description("") : amended,
  1879.  guid("{93545055-ab4c-4e80-84ae-6a86a2dc4b84}")
  1880. ]
  1881. class MS_SM_TargetInformationMethods
  1882. {
  1883.     [key]
  1884.     string  InstanceName;
  1885.     boolean Active;
  1886.  
  1887.     [Implemented, WmiMethodId(1)]
  1888.     void SM_GetTargetMapping(
  1889.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  1890.                 [in, HBAType("HBA_WWN")] uint8  DomainPortWWN[8],
  1891.                 [in ]
  1892.                  uint32 InEntryCount,
  1893.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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]
  1894.                  uint32 HBAStatus,
  1895.                 [out] 
  1896.                  uint32 TotalEntryCount,
  1897.                 [out] 
  1898.                  uint32 OutEntryCount,
  1899.                 [out, WmiSizeIs("OutEntryCount")]
  1900.                  MS_SMHBA_SCSIENTRY Entry[]
  1901.                 );
  1902.  
  1903.     [Implemented, WmiMethodId(2)]
  1904.     void SM_GetBindingCapability(
  1905.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  1906.                 [in, HBAType("HBA_WWN")] uint8  DomainPortWWN[8],
  1907.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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] uint32 HBAStatus,
  1908.                 [out, HBAType("SMHBA_BIND_CAPABILITY")] uint32 Flags
  1909.                 );
  1910.  
  1911.     [Implemented, WmiMethodId(3)]
  1912.     void SM_GetBindingSupport(
  1913.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  1914.                 [in, HBAType("HBA_WWN")] uint8  DomainPortWWN[8],
  1915.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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]
  1916.                  uint32 HBAStatus,
  1917.                 [out, HBAType("SMHBA_BIND_CAPABILITY")]
  1918.                  uint32 Flags
  1919.                 );
  1920.  
  1921.     [Implemented, WmiMethodId(4)]
  1922.     void SM_SetBindingSupport(
  1923.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  1924.                 [in, HBAType("HBA_WWN")] uint8  DomainPortWWN[8],
  1925.                 [in, HBAType("SMHBA_BIND_CAPABILITY")]
  1926.                  uint32 Flags,
  1927.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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]
  1928.                  uint32 HBAStatus
  1929.                 );
  1930.  
  1931.     [Implemented, WmiMethodId(5)]
  1932.     void SM_GetPersistentBinding(
  1933.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  1934.                 [in, HBAType("HBA_WWN")] uint8  DomainPortWWN[8],
  1935.                 [in ]
  1936.                  uint32 InEntryCount,
  1937.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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]
  1938.                  uint32 HBAStatus,
  1939.                 [out]
  1940.                  uint32 TotalEntryCount,
  1941.                 [out]
  1942.                  uint32 OutEntryCount,
  1943.                 [out, WmiSizeIs("OutEntryCount")]
  1944.                  MS_SMHBA_BINDINGENTRY Entry[]
  1945.                 );
  1946.  
  1947.     [Implemented, WmiMethodId(6)]
  1948.     void SM_SetPersistentBinding(
  1949.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  1950.                 [in, HBAType("HBA_WWN")] uint8  DomainPortWWN[8],
  1951.                 [in ] uint32 InEntryCount,
  1952.                 [in, WmiSizeIs("InEntryCount")]
  1953.                  MS_SMHBA_BINDINGENTRY Entry[],
  1954.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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]
  1955.                  uint32 HBAStatus,
  1956.                 [out ] uint32 OutStatusCount,
  1957.                 [out, WmiSizeIs("OutStatusCount")]
  1958.                  uint32 EntryStatus[]
  1959.                 );
  1960.  
  1961.     [Implemented, WmiMethodId(7)]
  1962.     void SM_RemovePersistentBinding(
  1963.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  1964.                 [in, HBAType("HBA_WWN")] uint8  DomainPortWWN[8],
  1965.                 [in ]
  1966.                  uint32 EntryCount,
  1967.                 [in, WmiSizeIs("EntryCount")]
  1968.                  MS_SMHBA_BINDINGENTRY Entry[],
  1969.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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]
  1970.                  uint32 HBAStatus
  1971.                 );
  1972.  
  1973.     [Implemented, WmiMethodId(8)]
  1974.     void SM_GetLUNStatistics(
  1975.                 [in, HBAType("HBA_SCSIID")]
  1976.                  HBAScsiID Lunit,
  1977.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ]
  1978.                  uint32 HBAStatus,
  1979.                 [out, HBAType("MS_SMHBA_PROTOCOLSTATISTICS") ]
  1980.                  MS_SMHBA_PROTOCOLSTATISTICS ProtocolStatistics
  1981.                 );
  1982. };
  1983.  
  1984.  
  1985.  
  1986.  
  1987.  
  1988.  
  1989.  
  1990.  
  1991. [WMI,
  1992.  Dynamic,
  1993.  Provider("wmiprov"),
  1994.  Description("") : amended,
  1995.  guid("{b6661e6f-075e-4209-ae20-fe81db03d979}")
  1996. ]
  1997. class MS_SM_ScsiInformationMethods
  1998. {
  1999.     [key]
  2000.     string  InstanceName;
  2001.     boolean Active;
  2002.  
  2003.     [Implemented, WmiMethodId(1)]
  2004.     void SM_ScsiInquiry(
  2005.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  2006.                 [in, HBAType("HBA_WWN")] uint8  DiscoveredPortWWN[8],
  2007.                 [in, HBAType("HBA_WWN")] uint8  DomainPortWWN[8],
  2008.                 [in, HBAType("HBA_SCSILUN")]
  2009.                  uint64 SmhbaLUN,
  2010.                 [in ]
  2011.                  uint8  Cdb[6],
  2012.                 [in ]
  2013.                  uint32 InRespBufferMaxSize,
  2014.                 [in ]
  2015.                  uint32 InSenseBufferMaxSize,
  2016.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ]
  2017.                  uint32 HBAStatus,
  2018.                 [out]
  2019.                  uint8  ScsiStatus,
  2020.                 [out]
  2021.                  uint32 OutRespBufferSize,
  2022.                 [out]
  2023.                  uint32 OutSenseBufferSize,
  2024.                 [out, WmiSizeIs("OutRespBufferSize") ]
  2025.                  uint8 RespBuffer[],
  2026.                 [out, WmiSizeIs("OutSenseBufferSize") ]
  2027.                  uint8 SenseBuffer[]
  2028.                 );
  2029.  
  2030.     [Implemented, WmiMethodId(2)]
  2031.     void SM_ScsiReportLuns(
  2032.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  2033.                 [in, HBAType("HBA_WWN")] uint8  DiscoveredPortWWN[8],
  2034.                 [in, HBAType("HBA_WWN")] uint8  DomainPortWWN[8],
  2035.                 [in ]
  2036.                  uint8  Cdb[12],
  2037.                 [in ]
  2038.                  uint32 InRespBufferMaxSize,
  2039.                 [in ]
  2040.                  uint32 InSenseBufferMaxSize,
  2041.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ]
  2042.                  uint32 HBAStatus,
  2043.                 [out]
  2044.                  uint8  ScsiStatus,
  2045.                 [out]
  2046.                  uint32 TotalRespBufferSize,
  2047.                 [out]
  2048.                  uint32 OutRespBufferSize,
  2049.                 [out]
  2050.                  uint32 OutSenseBufferSize,
  2051.                 [out, WmiSizeIs("OutRespBufferSize") ]
  2052.                  uint8 RespBuffer[],
  2053.                 [out, WmiSizeIs("OutSenseBufferSize") ]
  2054.                  uint8 SenseBuffer[]
  2055.                 );
  2056.         
  2057.     [Implemented, WmiMethodId(3)]
  2058.     void SM_ScsiReadCapacity(
  2059.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  2060.                 [in, HBAType("HBA_WWN")] uint8  DiscoveredPortWWN[8],
  2061.                 [in, HBAType("HBA_WWN")] uint8  DomainPortWWN[8],
  2062.                 [in, HBAType("HBA_SCSILUN")]
  2063.                  uint64 SmhbaLUN,
  2064.                 [in ]
  2065.                  uint8  Cdb[16],
  2066.                 [in ]
  2067.                  uint32 InRespBufferMaxSize,
  2068.                 [in ]
  2069.                  uint32 InSenseBufferMaxSize,
  2070.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ]
  2071.                  uint32 HBAStatus,
  2072.                 [out]
  2073.                  uint8  ScsiStatus,
  2074.                 [out]
  2075.                  uint32 OutRespBufferSize,
  2076.                 [out]
  2077.                  uint32 OutSenseBufferSize,
  2078.                 [out, WmiSizeIs("OutRespBufferSize") ]
  2079.                  uint8  RespBuffer[],
  2080.                 [out, WmiSizeIs("OutSenseBufferSize") ]
  2081.                  uint8  SenseBuffer[]
  2082.                 );
  2083. };
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092. [WMI,
  2093.  Dynamic,
  2094.  Provider("wmiprov"),
  2095.  Description("") : amended,
  2096.  guid("{467fea10-701b-4388-917f-730620cea328}")
  2097. ]
  2098. class MS_SM_FabricAndDomainManagementMethods
  2099. {
  2100.     [key]
  2101.     string  InstanceName;
  2102.     boolean Active;
  2103.  
  2104.  
  2105.  
  2106.     [Implemented, WmiMethodId(1)]
  2107.     void SM_SendTEST(
  2108.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  2109.                 [in, HBAType("HBA_WWN")] uint8  DestWWN[8],
  2110.                 [in ] uint32  DestFCID,
  2111.                 [in ] uint32  ReqBufferSize,
  2112.                 [in, WmiSizeIs("ReqBufferSize") ] uint8  ReqBuffer[],
  2113.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  2114.                 );
  2115.  
  2116.  
  2117.  
  2118.     [Implemented, WmiMethodId(2)]
  2119.     void SM_SendECHO(
  2120.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  2121.                 [in, HBAType("HBA_WWN")] uint8  DestWWN[8],
  2122.                 [in ] uint32  DestFCID,
  2123.                 [in ] uint32  InRespBufferMaxSize,
  2124.                 [in ] uint32  ReqBufferSize,
  2125.                 [in, WmiSizeIs("ReqBufferSize") ] uint8  ReqBuffer[],
  2126.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  2127.                 [out] uint32  OutRespBufferSize,
  2128.                 [out, WmiSizeIs("OutRespBufferSize") ] uint8  RespBuffer[]
  2129.                 );
  2130.  
  2131.  
  2132.  
  2133.     [Implemented, WmiMethodId(3)]
  2134.     void SM_SendSMPPassThru(
  2135.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  2136.                 [in, HBAType("HBA_WWN")] uint8  DestPortWWN[8],
  2137.                 [in, HBAType("HBA_WWN")] uint8  DomainPortWWN[8],
  2138.                 [in ] uint32  InRespBufferMaxSize,
  2139.                 [in ] uint32  ReqBufferSize,
  2140.                 [in, WmiSizeIs("ReqBufferSize") ] uint8  ReqBuffer[],
  2141.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  2142.                 [out] uint32  TotalRespBufferSize,
  2143.                 [out] uint32  OutRespBufferSize,
  2144.                 [out, WmiSizeIs("OutRespBufferSize") ] uint8  RespBuffer[]
  2145.                 );
  2146.  
  2147.  
  2148.  
  2149.     [Implemented, WmiMethodId(10)]
  2150.     void SM_SendCTPassThru(
  2151.                 [in, HBAType("HBA_WWN")] uint8  HbaPortWWN[8],
  2152.                 [in ] uint32  InRespBufferMaxSize,
  2153.                 [in ] uint32  ReqBufferSize,
  2154.                 [in, WmiSizeIs("ReqBufferSize") ] uint8  ReqBuffer[],
  2155.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  2156.                 [out] uint32  TotalRespBufferSize,
  2157.                 [out] uint32  OutRespBufferSize,
  2158.                 [out, WmiSizeIs("OutRespBufferSize") ] uint8  RespBuffer[]
  2159.                 );
  2160.  
  2161.  
  2162.  
  2163.     [Implemented, WmiMethodId(11)]
  2164.     void SM_GetRNIDMgmtInfo(
  2165.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  2166.                 [out] HBAFC3MgmtInfo MgmtInfo
  2167.                 );
  2168.  
  2169.  
  2170.  
  2171.     [Implemented, WmiMethodId(12)]
  2172.     void SM_SetRNIDMgmtInfo(
  2173.                 [in ] HBAFC3MgmtInfo MgmtInfo,
  2174.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  2175.                 );
  2176.  
  2177.  
  2178.  
  2179.     [Implemented, WmiMethodId(13)]
  2180.     void SM_SendRNID(
  2181.                 [in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],
  2182.                 [in, HBAType("HBA_WWN")] uint8 DestWWN[8],
  2183.                 [in ] uint32  DestFCID,
  2184.                 [in ] uint32  NodeIdDataFormat,
  2185.                 [in ] uint32  InRespBufferMaxSize,
  2186.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  2187.                 [out] uint32  TotalRespBufferSize,
  2188.                 [out] uint32  OutRespBufferSize,
  2189.                 [out, WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]
  2190.                 );
  2191.  
  2192.  
  2193.  
  2194.     [Implemented, WmiMethodId(14)]
  2195.     void SM_SendRPL(
  2196.                 [in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],
  2197.                 [in, HBAType("HBA_WWN")] uint8 AgentWWN[8],
  2198.                 [in ] uint32  AgentDomain,
  2199.                 [in ] uint32  PortIndex,
  2200.                 [in ] uint32  InRespBufferMaxSize,
  2201.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  2202.                 [out] uint32  TotalRespBufferSize,
  2203.                 [out] uint32  OutRespBufferSize,
  2204.                 [out, WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]
  2205.                 );
  2206.  
  2207.  
  2208.  
  2209.     [Implemented, WmiMethodId(15)]
  2210.     void SM_SendRPS(
  2211.                 [in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],
  2212.                 [in, HBAType("HBA_WWN")] uint8 AgentWWN[8],
  2213.                 [in, HBAType("HBA_WWN")] uint8 ObjectWWN[8],
  2214.                 [in ] uint32  AgentDomain,
  2215.                 [in ] uint32  ObjectPortNumber,
  2216.                 [in ] uint32  InRespBufferMaxSize,
  2217.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  2218.                 [out] uint32  TotalRespBufferSize,
  2219.                 [out] uint32  OutRespBufferSize,
  2220.                 [out, WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]
  2221.                 );
  2222.  
  2223.  
  2224.  
  2225.     [Implemented, WmiMethodId(16)]
  2226.     void SM_SendSRL(
  2227.                 [in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],
  2228.                 [in, HBAType("HBA_WWN")] uint8 WWN[8],
  2229.                 [in ] uint32  Domain,
  2230.                 [in ] uint32  InRespBufferMaxSize,
  2231.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  2232.                 [out] uint32  TotalRespBufferSize,
  2233.                 [out] uint32  OutRespBufferSize,
  2234.                 [out, WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]
  2235.                 );
  2236.  
  2237.  
  2238.  
  2239.     [Implemented, WmiMethodId(17)]
  2240.     void SM_SendLIRR(
  2241.                 [in, HBAType("HBA_WWN")] uint8 SourceWWN[8],
  2242.                 [in, HBAType("HBA_WWN")] uint8 DestWWN[8],
  2243.                 [in ] uint8   Function,
  2244.                 [in ] uint8   Type,
  2245.                 [in ] uint32  InRespBufferMaxSize,
  2246.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  2247.                 [out] uint32  TotalRespBufferSize,
  2248.                 [out] uint32  OutRespBufferSize,
  2249.                 [out, WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]
  2250.                 );
  2251.  
  2252.  
  2253.  
  2254.     [Implemented, WmiMethodId(18)]
  2255.     void SM_SendRLS(
  2256.                 [in, HBAType("HBA_WWN")] uint8 HbaPortWWN[8],
  2257.                 [in, HBAType("HBA_WWN")] uint8 DestWWN[8],
  2258.                 [in ] uint32  InRespBufferMaxSize,
  2259.                 [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus,
  2260.                 [out] uint32  TotalRespBufferSize,
  2261.                 [out] uint32  OutRespBufferSize,
  2262.                 [out, WmiSizeIs("OutRespBufferSize")] uint8 RespBuffer[]
  2263.                 );
  2264. };
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.  
  2273. [WMI, 
  2274.  Description("This class surfaces HBA adapter events") : amended,
  2275.  guid("{7944cf67-697b-4432-953e-1fdada884361}"),
  2276.  Provider("wmiprov"),
  2277.  Dynamic
  2278. ]
  2279. class MS_SM_AdapterEvent : WMIEvent
  2280. {
  2281.     [key] 
  2282.     string  InstanceName;
  2283.     boolean Active;
  2284.  
  2285.     [WmiDataId(1),
  2286.      Description("Event Type") : amended,
  2287.      EVENT_TYPE_QUALIFIERS
  2288.     ]
  2289.     uint32 EventType;
  2290.     
  2291.     [WmiDataId(2),
  2292.      Description("Adapter WWN") : amended,
  2293.      HBAType("HBA_WWN")
  2294.     ]
  2295.     uint8 PortWWN[8];
  2296.  
  2297. };
  2298.  
  2299.  
  2300. [WMI, 
  2301.  Description("This class surfaces HBA port events") : amended,
  2302.  guid("{0f760256-8fc6-47ad-9d2e-f0d69801de7c}"),
  2303.  Provider("wmiprov"),
  2304.  Dynamic
  2305. ]
  2306. class MS_SM_PortEvent : WMIEvent
  2307. {
  2308.     [key] 
  2309.     string  InstanceName;
  2310.     boolean Active;
  2311.  
  2312.     [WmiDataId(1),
  2313.      Description("Type of event") : amended,
  2314.      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" }, 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", "0x403" "0x500", "0x501" }
  2315.     ]
  2316.     uint32 EventType;
  2317.  
  2318.     [WmiDataId(2),
  2319.      Description("Fabric port id") : amended
  2320.     ]
  2321.     uint32 FabricPortId;    
  2322.  
  2323.     [WmiDataId(3),
  2324.      Description("Port WWN") : amended,
  2325.      HBAType("HBA_WWN")
  2326.     ]
  2327.     uint8 PortWWN[8];
  2328. };
  2329.  
  2330.  
  2331. [WMI, 
  2332.  Description("This class surfaces HBA target events") : amended,
  2333.  guid("{6e2d8b73-f928-4da9-bda1-ae54189a3825}"),
  2334.  Provider("wmiprov"),
  2335.  Dynamic
  2336. ]
  2337. class MS_SM_TargetEvent : WmiEvent
  2338. {
  2339.     [key] 
  2340.     string InstanceName;
  2341.     boolean Active;
  2342.  
  2343.     [WmiDataId(1),
  2344.      Description("Type of event") : amended,
  2345.      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" }, 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", "0x403" "0x500", "0x501" }
  2346.     ]
  2347.     uint32 EventType;
  2348.     
  2349.     [WmiDataId(2),
  2350.      Description("Port WWN") : amended,
  2351.      HBAType("HBA_WWN")
  2352.     ]
  2353.     uint8 PortWWN[8];
  2354.  
  2355.     [WmiDataId(3),
  2356.      Description("Discovered Port WWN") : amended,
  2357.      HBAType("HBA_WWN")
  2358.     ]
  2359.     uint8 DiscoveredPortWWN[8];
  2360.  
  2361.     [WmiDataId(4),
  2362.      Description("Domain Port WWN") : amended,
  2363.      HBAType("HBA_WWN")
  2364.     ]
  2365.     uint8 DomainPortWWN[8];
  2366.  
  2367. };
  2368.  
  2369.  
  2370. [WMI, 
  2371.  Dynamic,
  2372.  Provider("wmiprov"),
  2373.  Description("This class defines the port statistics thresholds that "
  2374.              "will cause a HBA_EVENT_PORT_STAT_THRESHOLD event to occur") : amended,
  2375.  guid("{d6145693-5988-457f-8581-9a0157b58690}")
  2376. ]
  2377.  
  2378. class MS_SM_EventControl 
  2379.     [key] 
  2380.     string  InstanceName; 
  2381.     boolean Active; 
  2382.  
  2383.     
  2384.     
  2385.     
  2386.     [ Implemented, WmiMethodId(1) ]
  2387.     void SM_AddTarget(
  2388.             [in, HBAType("HBA_WWN") ] uint8 HbaPortWWN[8],
  2389.             [in, HBAType("HBA_WWN") ] uint8 DiscoveredPortWWN[8],
  2390.             [in, HBAType("HBA_WWN") ] uint8 DomainPortWWN[8],
  2391.             [in ] uint32  AllTargets,
  2392.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  2393.             );
  2394.  
  2395.     [ Implemented, WmiMethodId(2) ]
  2396.     void SM_RemoveTarget(
  2397.             [in, HBAType("HBA_WWN") ] uint8 HbaPortWWN[8],
  2398.             [in, HBAType("HBA_WWN") ] uint8 DiscoveredPortWWN[8],
  2399.             [in, HBAType("HBA_WWN") ] uint8 DomainPortWWN[8],
  2400.             [in ] uint32  AllTargets,
  2401.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  2402.             );
  2403.  
  2404.  
  2405.     
  2406.     
  2407.     
  2408.     [ Implemented, WmiMethodId(3) ]
  2409.     void SM_AddPort(
  2410.             [in, HBAType("HBA_WWN") ] uint8 PortWWN[8],
  2411.             [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" }, 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", "0x403" "0x500", "0x501" } ] uint32 EventType,
  2412.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  2413.             );
  2414.  
  2415.     [ Implemented, WmiMethodId(4) ]
  2416.     void SM_RemovePort(
  2417.             [in, HBAType("HBA_WWN") ] uint8 PortWWN[8],
  2418.             [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" }, 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", "0x403" "0x500", "0x501" } ] uint32 EventType,
  2419.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  2420.             );
  2421.  
  2422.     
  2423.     
  2424.     
  2425.     [ Implemented, WmiMethodId(10) ]
  2426.     void SM_AddLink(
  2427.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  2428.             );
  2429.  
  2430.     [ Implemented, WmiMethodId(11) ]
  2431.     void SM_RemoveLink(
  2432.             [out, HBAType("HBA_STATUS"), Description("HBA Status result for the query operation") : amended, 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"}, 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 ] uint32 HBAStatus
  2433.             );
  2434. };
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440. [cpp_quote("#endif // MS_SM_HBA_API\n"),
  2441.  WMI,
  2442.  Description("") : amended,
  2443.  guid("{8CF4C7EB-A286-409d-9EB9-29D7E0E9F4FA}")
  2444. ]
  2445. class MSFC_TM
  2446. {
  2447.     [WmiDataId(1) ]
  2448.     uint32 tm_sec;
  2449.  
  2450.     [WmiDataId(2) ]
  2451.     uint32 tm_min;
  2452.  
  2453.     [WmiDataId(3) ]
  2454.     uint32 tm_hour;
  2455.  
  2456.     [WmiDataId(4) ]
  2457.     uint32 tm_mday;
  2458.  
  2459.     [WmiDataId(5) ]
  2460.     uint32 tm_mon;
  2461.  
  2462.     [WmiDataId(6) ]
  2463.     uint32 tm_year;
  2464.  
  2465.     [WmiDataId(7) ]
  2466.     uint32 tm_wday;
  2467.  
  2468.     [WmiDataId(8) ]
  2469.     uint32 tm_yday;
  2470.  
  2471.     [WmiDataId(9) ]
  2472.     uint32 tm_isdst;
  2473. };
  2474.  
  2475.  
  2476.  
  2477.