HBA_GetPersistentBindingV2 routine

The HBA_GetPersistentBindingV2 routine retrieves persistent bindings, including extended bindings, for logical units that the HBA enumerates on the indicated port.

Syntax

HBA_STATUS HBA_API HBA_GetPersistentBindingV2(
  _In_    HBA_HANDLE       HbaHandle,
  _In_    HBA_WWN          HbaPortWWN,
  _Inout_ PHBA_FCPBINDING2 Binding
);

Parameters

  • HbaHandle [in]
    Contains a value returned by the routine HBA_OpenAdapter that identifies the HBA to query for the persistent bindings. The HBA returns bindings for the logical units that it can enumerate on the port specified by HbaPortWWN.

  • HbaPortWWN [in]
    Contains a 64-bit worldwide name (WWN) that uniquely identifies the fibre channel port on which the logical units are enumerated. For a discussion of worldwide names, see the T11 committee's Fibre Channel HBA API specification.

  • Binding [in, out]
    Contains a structure of type HBA_FCPBinding2 that holds an array of elements of type HBA_FCPBindingEntry2, each of which holds a persistent binding between operating system and fibre channel protocol (FCP) identifiers for a logical unit. On input, the NumberOfEntries member of HBA_FCPBinding2 should contain the number of bindings that fit in the output buffer. On output, NumberOfEntries holds the number of bindings actually returned, which is equal to the number specified on input, or the full set of available bindings, whichever is smaller. The value in NumberOfEntries contains the number of persistent bindings returned even when an error occurred because of insufficient buffer space.

    On output, the Status member of each HBA_FCPBindingEntry2 structure is 0.

Return value

The HBA_GetPersistentBindingV2 routine returns a value of type HBA_STATUS that indicates the status of the HBA. In particular, HBA_GetPersistentBindingV2 returns one of the following qualifiers.

Return code Description
HBA_STATUS_OK

Returned if the persistent bindings were successfully retrieved.

HBA_STATUS_ERROR_ILLEGAL_WWN

Returned if the HBA referenced by HbaHandle does not contain a port with the name specified in HbaPortWWN.

HBA_STATUS_ERROR_NOT_SUPPORTED

Returned if the adapter referenced by HbaHandle does not support persistent binding.

HBA_STATUS_ERROR_MORE_DATA

Returned if a larger buffer is required to contain binding information.

HBA_STATUS_ERROR

Returned if an unspecified error occurred that prevented the retrieval of the persistent bindings.

 

Remarks

The HBA_GetPersistentBindingV2 routine retrieves a set of bindings between operating system and FCP identifiers for the logical units that the HBA referenced by HbaHandle can enumerate on the port specified by HbaPortWWN. The bindings that HBA_GetPersistentBindingV2 retrieves persist across reboots of the operating system.

This routine is similar to the HBA_GetFcpPersistentBinding routine. The key difference is that the bindings that HBA_GetPersistentBindingV2 returns include a logical unit ID descriptor (LUID) derived from vital product data retrieved with a SCSI inquiry command. If the vital product data for a logical unit provides more than one LUID, then the LUID that HBA_GetPersistentBindingV2 returns depends on the types of LUIDs provided. For a complete explanation of how the LUID is chosen when more than one LUID is available, see the T11 committee's Fibre Channel HBA API specification.

Requirements

Target platform

Desktop

Header

Hbaapi.h (include Hbaapi.h)

Library

Hbaapi.lib

DLL

Hbaapi.dll

See also

HBA_FCPBinding

HBA_FCPBindingEntry2

HBA_GetFcpPersistentBinding

HBA_OpenAdapter

HBA_STATUS

 

 

Send comments about this topic to Microsoft