Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

882 lines
21 KiB

  1. //***************************************************************************
  2. //
  3. // hbaapi.mof
  4. //
  5. // Module: WDM classes to expose HBA api data from drivers
  6. //
  7. // Purpose: Contains WDM classes that specify the HBA data to be exposed
  8. // via the HBA api set.
  9. //
  10. // Copyright (c) 2001 Microsoft Corporation
  11. //
  12. //***************************************************************************
  13. #pragma namespace("\\\\.\\root\\wmi")
  14. //
  15. // HBA specific classes
  16. //
  17. [WMI,
  18. Dynamic,
  19. Provider("WmiProv"),
  20. Description("This class exposes statistical information associated with "
  21. "a Fibre Channel port. There should be one instance of this "
  22. "class for each port.") : amended,
  23. guid("{27EFABA4-362A-4f20-920B-ED66E280FCF5}")
  24. ]
  25. class MSFC_FibrePortHBAStatistics
  26. {
  27. [key]
  28. string InstanceName;
  29. boolean Active;
  30. [
  31. Description ("Unique identifier for the port. This idenitifer must "
  32. "be unique among all ports on all adapters. The same "
  33. "value for the identifier must be used for the same port "
  34. "in other classes that expose port information") : amended,
  35. WmiRefClass("MSFC_FibrePort"),
  36. WmiRefProperty("UniquePortId"),
  37. WmiDataId(1)
  38. ]
  39. uint64 UniquePortId; // CIM_FibrePort REF
  40. [HBAType("HBA_STATUS"),
  41. Description("HBA Status result for the query operation"),
  42. ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"},
  43. Values{
  44. "Operation was successful ",
  45. "Error ",
  46. "Function not supported.",
  47. "invalid handle ",
  48. "Bad argument ",
  49. "WWN not recognized ",
  50. "Index not recognized ",
  51. "Larger buffer required ",
  52. "Data is stale, HBARefreshInformation is required "
  53. } : amended,
  54. WmiDataId(2)
  55. ]
  56. uint32 HBAStatus;
  57. // Note 4 byte padding
  58. [
  59. WmiDataId(3)
  60. ]
  61. sint64 SecondsSinceLastReset;
  62. [
  63. WmiDataId(4)
  64. ]
  65. sint64 TxFrames;
  66. [
  67. WmiDataId(5)
  68. ]
  69. sint64 TxWords;
  70. [
  71. WmiDataId(6)
  72. ]
  73. sint64 RxFrames;
  74. [
  75. WmiDataId(7)
  76. ]
  77. sint64 RxWords;
  78. [
  79. WmiDataId(8)
  80. ]
  81. sint64 LIPCount;
  82. [
  83. WmiDataId(9)
  84. ]
  85. sint64 NOSCount;
  86. [
  87. WmiDataId(10)
  88. ]
  89. sint64 ErrorFrames;
  90. [
  91. WmiDataId(11)
  92. ]
  93. sint64 DumpedFrames;
  94. [
  95. WmiDataId(12)
  96. ]
  97. sint64 LinkFailureCount;
  98. // CIM_FibrePort.LossofSyncCounter
  99. [
  100. WmiDataId(13)
  101. ]
  102. sint64 LossOfSyncCount;
  103. // CIM_FibrePort.LossofSignalCounter
  104. [
  105. WmiDataId(14)
  106. ]
  107. sint64 LossOfSignalCount;
  108. [
  109. WmiDataId(15)
  110. ]
  111. sint64 PrimitiveSeqProtocolErrCount;
  112. [
  113. WmiDataId(16)
  114. ]
  115. sint64 InvalidTxWordCount;
  116. // CIM_FibrePort.CRCErrors
  117. [
  118. WmiDataId(17)
  119. ]
  120. sint64 InvalidCRCCount;
  121. };
  122. [WMI,
  123. HBAType("HBA_PORTATTRIBUTES"),
  124. guid("{A76BD4E3-9961-4d9b-B6BE-86E698260F68}")
  125. ]
  126. class MSFC_HBAPortAttributesResults
  127. {
  128. [HBAType("HBA_WWN"),
  129. WmiDataId(1)
  130. ]
  131. uint8 NodeWWN[8];
  132. [HBAType("HBA_WWN"),
  133. WmiDataId(2)
  134. ]
  135. uint8 PortWWN[8];
  136. [
  137. WmiDataId(3)
  138. ]
  139. uint32 PortFcId;
  140. // CIM_FibrePort.CurrentPortType
  141. [HBAType("HBA_PORTTYPE"),
  142. Values{"Unknown", "Other", "Not present", "Fabric", "Public Loop",
  143. "HBA_PORTTYPE_FLPORT", "Fabric Port", "Fabric expansion port",
  144. "Generic Fabric Port", "Private Loop", "Point to Point"} : amended,
  145. ValueMap{"1", "2", "3", "5", "6", "7", "8", "9", "10", "20", "21"},
  146. WmiDataId(4)
  147. ]
  148. uint32 PortType;
  149. // CIM_LogicalDevice.Availability
  150. [HBAType("HBA_PORTSTATE"),
  151. Values{"Unknown", "Operational", "User Offline", "Bypassed",
  152. "In diagnostics mode", "Link Down", "Port Error", "Loopback"
  153. } : amended,
  154. ValueMap{"1","2","3","4","5","6","7","8"},
  155. WmiDataId(5)
  156. ]
  157. uint32 PortState;
  158. // CIM_FibreChannelAdapter.SupportedCOS
  159. // TODO: See GS-2 spec for enumeration/ValueMap
  160. [HBAType("HBA_COS"),
  161. WmiDataId(6)
  162. ]
  163. uint32 PortSupportedClassofService;
  164. // CIM_FibreChannelAdapter.FC4TypesSupported
  165. [HBAType("HBA_FC4TYPES"),
  166. WmiDataId(7)
  167. ]
  168. uint8 PortSupportedFc4Types[32];
  169. [HBAType("HBA_FC4TYPES"),
  170. WmiDataId(8)
  171. ]
  172. uint8 PortActiveFc4Types[32];
  173. [HBAType("HBA_PORTSPEED"),
  174. Values{"1 GBit/sec", "2 GBit/sec", "10 GBit/sec"} : amended,
  175. ValueMap{"1", "2", "4"},
  176. WmiDataId(9)
  177. ]
  178. uint32 PortSupportedSpeed;
  179. // CIM_LogicalPort.Speed
  180. [HBAType("HBA_PORTSPEED"),
  181. Values{"1 GBit/sec", "2 GBit/sec", "10 GBit/sec"} : amended,
  182. ValueMap{"1", "2", "4"},
  183. WmiDataId(10)
  184. ]
  185. uint32 PortSpeed;
  186. [
  187. WmiDataId(11)
  188. ]
  189. uint32 PortMaxFrameSize;
  190. [HBAType("HBA_WWN"),
  191. WmiDataId(12)
  192. ]
  193. uint8 FabricName[8];
  194. [
  195. WmiDataId(13)
  196. ]
  197. uint32 NumberofDiscoveredPorts;
  198. [MaxLen(256),
  199. WmiDataId(14)
  200. ]
  201. string PortSymbolicName;
  202. [MaxLen(256),
  203. WmiDataId(15)
  204. ]
  205. string OSDeviceName;
  206. };
  207. [WMI,
  208. Dynamic,
  209. Provider("WmiProv"),
  210. Description("This class exposes attribute information associated with "
  211. "a Fibre Channel port. There should be one instance of this "
  212. "class for each port.") : amended,
  213. guid("{61B397FD-F5AE-4950-9758-0EE598E3C6E6}")
  214. ]
  215. class MSFC_FibrePortHBAAttributes
  216. {
  217. [key]
  218. string InstanceName;
  219. boolean Active;
  220. [
  221. Description ("Unique identifier for the port. This idenitifer must "
  222. "be unique among all ports on all adapters. The same "
  223. "value for the identifier must be used for the same port "
  224. "in other classes that expose port information") : amended,
  225. WmiRefClass("MSFC_FibrePort"),
  226. WmiRefProperty("UniquePortId"),
  227. WmiDataId(1)
  228. ]
  229. uint64 UniquePortId; // CIM_FibrePort REF
  230. [HBAType("HBA_STATUS"),
  231. Description("HBA Status result for the query operation"),
  232. ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"},
  233. Values{
  234. "Operation was successful ",
  235. "Error ",
  236. "Function not supported.",
  237. "invalid handle ",
  238. "Bad argument ",
  239. "WWN not recognized ",
  240. "Index not recognized ",
  241. "Larger buffer required ",
  242. "Data is stale, HBARefreshInformation is required "
  243. } : amended,
  244. WmiDataId(2)
  245. ]
  246. uint32 HBAStatus;
  247. [HBAType("HBA_PORTATTRIBUTES"),
  248. WmiDataId(3)
  249. ]
  250. MSFC_HBAPortAttributesResults Attributes;
  251. };
  252. [WMI,
  253. Dynamic,
  254. Provider("WmiProv"),
  255. Description("This class exposes operations that can be performed on "
  256. "a Fibre Channel port. There should be one instance of this "
  257. "class for each port.") : amended,
  258. guid("{E693553E-EDF6-4d57-BF08-EFCAAE1A2E1C}")
  259. ]
  260. class MSFC_FibrePortHBAMethods
  261. {
  262. [key]
  263. string InstanceName;
  264. boolean Active;
  265. [
  266. Implemented,
  267. WmiMethodId(1)
  268. ]
  269. void ResetStatistics();
  270. };
  271. [WMI,
  272. Dynamic,
  273. Provider("WmiProv"),
  274. Description("This class exposes attribute information associated with a "
  275. "fibre channel adapter. There should be one instance of this "
  276. "class for each adapter") : amended,
  277. guid("{F8F3EA26-AB2C-4593-8B84-C56428E6BEDB}")
  278. ]
  279. class MSFC_FCAdapterHBAAttributes
  280. {
  281. [key]
  282. string InstanceName;
  283. boolean Active;
  284. [
  285. Description ("Unique identifier for the adapter. This idenitifer must "
  286. "be unique among all adapters. The same "
  287. "value for the identifier must be used for the same adapter "
  288. "in other classes that expose adapter information") : amended,
  289. WmiRefClass("MSFC_FibreChannelAdapter"),
  290. WmiRefProperty("UniqueAdapterId"),
  291. WmiDataId(1)
  292. ]
  293. uint64 UniqueAdapterId; // CIM_FibreChannelAdapter REF
  294. [HBAType("HBA_STATUS"),
  295. Description("HBA Status result for the query operation"),
  296. ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"},
  297. Values{
  298. "Operation was successful ",
  299. "Error ",
  300. "Function not supported.",
  301. "invalid handle ",
  302. "Bad argument ",
  303. "WWN not recognized ",
  304. "Index not recognized ",
  305. "Larger buffer required ",
  306. "Data is stale, HBARefreshInformation is required "
  307. } : amended,
  308. WmiDataId(2)
  309. ]
  310. uint32 HBAStatus;
  311. // CIM_NetworkAdapter.PermamentAddress
  312. [HBAType("HBA_WWN"),
  313. WmiDataId(3)
  314. ]
  315. uint8 NodeWWN[8];
  316. [WmiDataId(4)
  317. ]
  318. uint32 VendorSpecificID;
  319. [WmiDataId(5)
  320. ]
  321. uint32 NumberOfPorts;
  322. // CIM_PhysicalElement
  323. [MaxLen(64),
  324. WmiDataId(6)
  325. ]
  326. string Manufacturer;
  327. // CIM_PhysicalElement
  328. [MaxLen(64),
  329. WmiDataId(7)
  330. ]
  331. string SerialNumber;
  332. // CIM_PhysicalElement
  333. [MaxLen(256),
  334. WmiDataId(8)
  335. ]
  336. string Model;
  337. [MaxLen(256),
  338. WmiDataId(9)
  339. ]
  340. string ModelDescription;
  341. [MaxLen(256),
  342. WmiDataId(10)
  343. ]
  344. string NodeSymbolicName;
  345. // CIM_PhysicalElement
  346. [MaxLen(256),
  347. WmiDataId(11)
  348. ]
  349. string HardwareVersion;
  350. [MaxLen(256),
  351. WmiDataId(12)
  352. ]
  353. string DriverVersion;
  354. [MaxLen(256),
  355. WmiDataId(13)
  356. ]
  357. string OptionROMVersion;
  358. [MaxLen(256),
  359. WmiDataId(14)
  360. ]
  361. string FirmwareVersion;
  362. [MaxLen(256),
  363. WmiDataId(15)
  364. ]
  365. string DriverName;
  366. };
  367. [WMI,
  368. Description("This class exposes FC3 Management information associated with "
  369. "a fibre channel adapter. There should be one instance of this "
  370. "class for each adapter") : amended,
  371. guid("{5966A24F-6AA5-418e-B75C-2F214DFB4B18}")
  372. ]
  373. class HBAFC3MgmtInfo
  374. {
  375. [
  376. Description ("Unique identifier for the adapter. This idenitifer must "
  377. "be unique among all adapters. The same "
  378. "value for the identifier must be used for the same adapter "
  379. "in other classes that expose adapter information") : amended,
  380. WmiRefClass("MSFC_FibreChannelAdapter"),
  381. WmiRefProperty("UniqueAdapterId"),
  382. WmiDataId(1)
  383. ]
  384. uint64 UniqueAdapterId; // CIM_FibreChannelAdapter REF
  385. [HBAType("HBA_WWN"),
  386. WmiDataId(2)
  387. ]
  388. uint8 wwn[8];
  389. [
  390. WmiDataId(3)
  391. ]
  392. uint32 unittype;
  393. [
  394. WmiDataId(4)
  395. ]
  396. uint32 PortId;
  397. [
  398. WmiDataId(5)
  399. ]
  400. uint32 NumberOfAttachedNodes;
  401. [
  402. WmiDataId(6)
  403. ]
  404. uint16 IPVersion;
  405. [
  406. WmiDataId(7)
  407. ]
  408. uint16 UDPPort;
  409. [
  410. WmiDataId(8)
  411. ]
  412. uint8 IPAddress[16];
  413. [
  414. WmiDataId(9)
  415. ]
  416. uint16 reserved;
  417. [
  418. WmiDataId(10)
  419. ]
  420. uint16 TopologyDiscoveryFlags;
  421. };
  422. [WMI,
  423. Dynamic,
  424. Provider("WmiProv"),
  425. Description("This class exposes port discovery operations that can be by a "
  426. "fibre channel adapter. There should be one instance of this "
  427. "class for each adapter") : amended,
  428. guid("{DF87D4ED-4612-4d12-85FB-83574EC34B7C}")
  429. ]
  430. class MSFC_HBAPortMethods
  431. {
  432. [key]
  433. string InstanceName;
  434. boolean Active;
  435. [
  436. Implemented,
  437. WmiMethodId(1)
  438. ]
  439. void GetDiscoveredPortAttributes(
  440. [in
  441. ] uint32 PortIndex,
  442. [in] uint32 DiscoveredPortIndex,
  443. [out,
  444. HBAType("HBA_STATUS"),
  445. Description("HBA Status result for the operation"),
  446. ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"},
  447. Values{
  448. "Operation was successful ",
  449. "Error ",
  450. "Function not supported.",
  451. "invalid handle ",
  452. "Bad argument ",
  453. "WWN not recognized ",
  454. "Index not recognized ",
  455. "Larger buffer required ",
  456. "Data is stale, HBARefreshInformation is required "
  457. } : amended
  458. ] uint32 HBAStatus,
  459. [out,
  460. HBAType("HBA_PORTATTRIBUTES")
  461. ] MSFC_HBAPortAttributesResults PortAttributes);
  462. [
  463. Implemented,
  464. WmiMethodId(2)
  465. ]
  466. void GetPortAttributesByWWN(
  467. [in,
  468. HBAType("HBA_WWN")] uint8 wwn[8],
  469. [out,
  470. HBAType("HBA_STATUS"),
  471. Description("HBA Status result for the operation"),
  472. ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"},
  473. Values{
  474. "Operation was successful ",
  475. "Error ",
  476. "Function not supported.",
  477. "invalid handle ",
  478. "Bad argument ",
  479. "WWN not recognized ",
  480. "Index not recognized ",
  481. "Larger buffer required ",
  482. "Data is stale, HBARefreshInformation is required "
  483. } : amended
  484. ] uint32 HBAStatus,
  485. [out,
  486. HBAType("HBA_PORTATTRIBUTES")
  487. ] MSFC_HBAPortAttributesResults PortAttributes);
  488. [
  489. Implemented,
  490. WmiMethodId(3)
  491. ]
  492. void RefreshInformation();
  493. };
  494. [WMI,
  495. Dynamic,
  496. Provider("WmiProv"),
  497. Description("This class exposes FC3 management operations that can be done by a "
  498. "fibre channel adapter. There should be one instance of this "
  499. "class for each adapter") : amended,
  500. guid("{5F339B02-881B-454c-B6A0-D73449A66F0C}")
  501. ]
  502. class MSFC_HBAFc3MgmtMethods
  503. {
  504. [key]
  505. string InstanceName;
  506. boolean Active;
  507. [
  508. Implemented,
  509. WmiMethodId(1)
  510. ]
  511. void SendCTPassThru(
  512. [in] uint32 RequestBufferCount,
  513. [in,
  514. WmiSizeIs("RequestBufferCount")
  515. ] uint8 RequestBuffer[],
  516. [out,
  517. HBAType("HBA_STATUS"),
  518. Description("HBA Status result for the operation"),
  519. ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"},
  520. Values{
  521. "Operation was successful ",
  522. "Error ",
  523. "Function not supported.",
  524. "invalid handle ",
  525. "Bad argument ",
  526. "WWN not recognized ",
  527. "Index not recognized ",
  528. "Larger buffer required ",
  529. "Data is stale, HBARefreshInformation is required "
  530. } : amended
  531. ] uint32 HBAStatus,
  532. [out] uint32 ResponseBufferCount,
  533. [out,
  534. WmiSizeIs("ResponseBufferCount")
  535. ]
  536. uint8 ResponseBuffer[]);
  537. [
  538. Implemented,
  539. WmiMethodId(2)
  540. ]
  541. void SendRNID(
  542. [in,
  543. HBAType("HBA_WWN")
  544. ] uint8 wwn[8],
  545. [in,
  546. HBAType("HBA_WWNTYPE"),
  547. Values{"NODE_WWN", "PORT_WWN"},
  548. ValueMap{"0", "1"}
  549. ] uint32 wwntype,
  550. [out,
  551. HBAType("HBA_STATUS"),
  552. Description("HBA Status result for the operation"),
  553. ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"},
  554. Values{
  555. "Operation was successful ",
  556. "Error ",
  557. "Function not supported.",
  558. "invalid handle ",
  559. "Bad argument ",
  560. "WWN not recognized ",
  561. "Index not recognized ",
  562. "Larger buffer required ",
  563. "Data is stale, HBARefreshInformation is required "
  564. } : amended
  565. ] uint32 HBAStatus,
  566. [out] uint32 ResponseBufferCount,
  567. [out,
  568. WmiSizeIs("ResponseBufferCount")
  569. ] uint8 ResponseBuffer[]);
  570. [
  571. Implemented,
  572. WmiMethodId(3)
  573. ]
  574. void GetFC3MgmtInfo(
  575. [out,
  576. HBAType("HBA_STATUS"),
  577. Description("HBA Status result for the operation"),
  578. ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"},
  579. Values{
  580. "Operation was successful ",
  581. "Error ",
  582. "Function not supported.",
  583. "invalid handle ",
  584. "Bad argument ",
  585. "WWN not recognized ",
  586. "Index not recognized ",
  587. "Larger buffer required ",
  588. "Data is stale, HBARefreshInformation is required "
  589. } : amended
  590. ] uint32 HBAStatus,
  591. [out] HBAFC3MgmtInfo MgmtInfo);
  592. [
  593. Implemented,
  594. WmiMethodId(4)
  595. ]
  596. void SetFC3MgmtInfo(
  597. [out,
  598. HBAType("HBA_STATUS"),
  599. Description("HBA Status result for the operation"),
  600. ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"},
  601. Values{
  602. "Operation was successful ",
  603. "Error ",
  604. "Function not supported.",
  605. "invalid handle ",
  606. "Bad argument ",
  607. "WWN not recognized ",
  608. "Index not recognized ",
  609. "Larger buffer required ",
  610. "Data is stale, HBARefreshInformation is required "
  611. } : amended
  612. ] uint32 HBAStatus,
  613. [in] HBAFC3MgmtInfo MgmtInfo);
  614. };
  615. [HBAType("HBA_SCSIID"),
  616. WMI,
  617. guid("{A76F5058-B1F0-4622-9E88-5CC41E34454A}")
  618. ]
  619. class HBAScsiID
  620. {
  621. [MaxLen(256),
  622. WmiDataId(1)
  623. ]
  624. string OSDeviceName;
  625. [WmiDataId(2)
  626. ]
  627. uint32 ScsiBusNumber;
  628. [WmiDataId(3)
  629. ]
  630. uint32 ScsiTargetNumber;
  631. [WmiDataId(4)
  632. ]
  633. uint32 ScsiOSLun;
  634. };
  635. [HBAType("HBA_FCPID"),
  636. WMI,
  637. guid("{FF02BC96-7FB0-4bac-8F97-C71E495FA698}")
  638. ]
  639. class HBAFCPID
  640. {
  641. [
  642. WmiDataId(1)
  643. ]
  644. uint32 Fcid;
  645. [HBAType("HBA_WWN"),
  646. WmiDataId(2)
  647. ]
  648. uint8 NodeWWN[8];
  649. [HBAType("HBA_WWN"),
  650. WmiDataId(3)
  651. ]
  652. uint8 PortWWN[8];
  653. [
  654. WmiDataId(4)
  655. ]
  656. uint64 FcpLun;
  657. };
  658. [HBAType("HBA_FCPSCSIENTRY"),
  659. WMI,
  660. guid("{77CA1248-1505-4221-8EB6-BBB6EC771A87}")
  661. ]
  662. class HBAFCPScsiEntry
  663. {
  664. [
  665. HBAType("HBA_SCSIID"),
  666. WmiDataId(1)
  667. ]
  668. HBAScsiID ScsiId;
  669. [
  670. HBAType("HBA_FCPID"),
  671. WmiDataId(2)
  672. ]
  673. HBAFCPID FCPId;
  674. };
  675. [HBAType("HBA_FCPBINDINGENTRY"),
  676. WMI,
  677. guid("{FCEFF8B7-9D6B-4115-8422-05992451A629}")
  678. ]
  679. class HBAFCPBindingEntry
  680. {
  681. [HBAType("HBA_FCPBINDINGTYPE"),
  682. Values{"TO_D_ID", "TO_WWN"},
  683. ValueMap{"0", "1"},
  684. WmiDataId(1)
  685. ]
  686. uint32 Type;
  687. [HBAType("HBA_FCPSCSIENTRY"),
  688. WmiDataId(2)
  689. ]
  690. HBAScsiID ScsiId;
  691. [HBAType("HBA_FCID"),
  692. WmiDataId(3)
  693. ]
  694. HBAFCPID FCPId;
  695. };
  696. [WMI,
  697. Dynamic,
  698. Provider("WmiProv"),
  699. Description("This class exposes operations associated with FCP "
  700. "on a Fibre Channel adapter. There should be one instance of this "
  701. "class for each adapter.") : amended,
  702. guid("{7A1FC391-5B23-4c19-B0EB-B1AEF59050C3}")
  703. ]
  704. class MSFC_HBAFCPInfo
  705. {
  706. [key]
  707. string InstanceName;
  708. boolean Active;
  709. [
  710. Implemented,
  711. WmiMethodId(1)
  712. ]
  713. void GetFcpTargetMapping(
  714. [out,
  715. HBAType("HBA_STATUS"),
  716. Description("HBA Status result for the operation"),
  717. ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"},
  718. Values{
  719. "Operation was successful ",
  720. "Error ",
  721. "Function not supported.",
  722. "invalid handle ",
  723. "Bad argument ",
  724. "WWN not recognized ",
  725. "Index not recognized ",
  726. "Larger buffer required ",
  727. "Data is stale, HBARefreshInformation is required "
  728. } : amended
  729. ] uint32 HBAStatus,
  730. [out] uint32 EntryCount,
  731. [out,
  732. WmiSizeIs("EntryCount")] HBAFCPScsiEntry Entry[]);
  733. [
  734. Implemented,
  735. WmiMethodId(2)
  736. ]
  737. void GetFcpPersistentBinding(
  738. [out,
  739. HBAType("HBA_STATUS"),
  740. Description("HBA Status result for the operation"),
  741. ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8"},
  742. Values{
  743. "Operation was successful ",
  744. "Error ",
  745. "Function not supported.",
  746. "invalid handle ",
  747. "Bad argument ",
  748. "WWN not recognized ",
  749. "Index not recognized ",
  750. "Larger buffer required ",
  751. "Data is stale, HBARefreshInformation is required "
  752. } : amended
  753. ] uint32 HBAStatus,
  754. [out] uint32 EntryCount,
  755. [out,
  756. WmiSizeIs("EntryCount")
  757. ] HBAFCPBindingEntry Entry[]);
  758. };