Extensible Firmware Interface Specification
64 12/12/00 Version 1.02
3.3.6 HandleProtocol()
Summary
Queries a handle to determine if it supports a specified protocol.
Prototype
EFI_STATUS
HandleProtocol (
IN EFI_HANDLE Handle,
IN EFI_GUID *Protocol,
OUT VOID **Interface
);
Parameters
Handle The handle being queried. Type EFI_HANDLE is defined in
Section 3.3.1. If Handle is not a valid EFI_HANDLE, then
EFI_INVALID_PARAMETER is returned.
Protocol The published unique identifier of the protocol. Type EFI_GUID is
defined in Section 3.3.1. It is the callers responsibility to pass in a valid
GUID. See “Wired For Management Baseline” for a description of valid
GUID values.
Interface Supplies the address where a pointer to the corresponding Protocol
Interface is returned. NULL will be returned in *Interface if a
structure is not associated with Protocol.
Description
The HandleProtocol() function queries Handle to determine if it supports Protocol. If it
does, then on return Interface points to a pointer to the corresponding Protocol Interface.
Interface can then be passed to any Protocol Service to identify the context of the request.
Status Codes Returned
EFI_SUCCESS The interface information for the specified protocol was returned.
EFI_UNSUPPORTED The device does not support the specified protocol.
EFI_INVALID_PARAMETER One of the parameters has an invalid value.