Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Extensible Firmware Interface Specification
5-70 12/01/02 Version 1.10
LocateHandleBuffer()
Summary
Returns an array of handles that support the requested protocol in a buffer allocated from pool.
Prototype
typedef
EFI_STATUS
LocateHandleBuffer (
IN EFI_LOCATE_SEARCH_TYPE SearchType,
IN EFI_GUID *Protocol OPTIONAL,
IN VOID *SearchKey OPTIONAL,
IN OUT UINTN *NoHandles,
OUT EFI_HANDLE **Buffer
);
Parameters
SearchType Specifies which handle(s) are to be returned.
Protocol Provides the protocol to search by. This parameter is only valid for a
SearchType of ByProtocol.
SearchKey Supplies the search key depending on the SearchType.
NoHandles The number of handles returned in Buffer.
Buffer A pointer to the buffer to return the requested array of handles that
support Protocol. This buffer is allocated with a call to the Boot
Service AllocatePool()
. It is the caller's responsibility to call the
Boot Service FreePool()
when the caller no longer requires the
contents of Buffer.
Description
The LocateHandleBuffer() function returns one or more handles that match the
SearchType request. Buffer is allocated from pool, and the number of entries in Buffer is
returned in NoHandles.EachSearchType is described below:
AllHandles Protocol and SearchKey are ignored and the function
returns an array of every handle in the system.
ByRegisterNotify SearchKey supplies the Registration returned by
RegisterProtocolNotify()
. The function returns the
next handle that is new for the Registration. Only one handle is
returned at a time, and the caller must loop until no more handles
are returned. Protocol is ignored for this search type.
ByProtocol All handles that support Protocol are returned. SearchKey
is ignored for this search type.