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