Extensible Firmware Interface Specification
9-4 12/01/02 Version 1.10
EFI_DRIVER_BINDING_PROTOCOL.Supported()
Summary
Tests to see if this driver supports a given controller. If a child device is provided, it further tests to
see if this driver supports creating a handle for the specified child device.
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_SUPPORTED) (
IN EFI_DRIVER_BINDING_PROTOCOL *This,
IN EFI_HANDLE ControllerHandle,
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
);
Parameters
This A pointer to the EFI_DRIVER_BINDING_PROTOCOL
instance.
ControllerHandle The handle of the controller to test. This handle must support a
protocol interface that supplies an I/O abstraction to the driver.
Sometimes just the presence of this I/O abstraction is enough for
the driver to determine if it supports ControllerHandle.
Sometimes, the driver may use the services of the I/O abstraction
to determine if this driver supports ControllerHandle.
RemainingDevicePath A pointer to the remaining portion of a device path. This
parameter is ignored by device drivers, and is optional for bus
drivers. For bus drivers, if this parameter is not NULL, then
the bus driver must determine if the bus controller specified
by ControllerHandle and the child controller specified
by RemainingDevicePath are both supported by this
bus driver.
Description
This function checks to see if the driver specified by This supports the device specified by
ControllerHandle. Drivers will typically use the device path attached to
ControllerHandle and/or the services from the bus I/O abstraction attached to
ControllerHandle to determine if the driver supports ControllerHandle. This function
may be called many times during platform initialization. In order to reduce boot times, the tests
performed by this function must be very small, and take as little time as possible to execute. This
function must not change the state of any hardware devices, and this function must be aware that
the device specified by ControllerHandle may already be managed by the same driver or a
different driver. This function must match its calls to AllocatePages()
with
FreePages()
, AllocatePool() with FreePool(), and OpenProtocol() with