Intel Extensible Firmware Interface User Manual
Page 244

Extensible Firmware Interface Specification
9-2
12/01/02
Version 1.10
Protocol Interface Structure
typedef struct _EFI_DRIVER_BINDING_PROTOCOL {
EFI_DRIVER_BINDING_PROTOCOL_SUPPORTED
Supported;
EFI_DRIVER_BINDING_PROTOCOL_START
Start;
EFI_DRIVER_BINDING_PROTOCOL_STOP
Stop;
UINT32
Version;
EFI_HANDLE
ImageHandle;
EFI_HANDLE
DriverBindingHandle;
} EFI_DRIVER_BINDING_PROTOCOL;
Parameters
Supported
Tests to see if this driver supports a given controller. This
service is called by the EFI boot service
. In order to make drivers as small
as possible, there are a few calling restrictions for this service.
ConnectController()
must follow these calling
restrictions. If any other agent wishes to call
must also follow these calling restrictions. See the
Supported()
function description.
Start
Starts a controller using this driver. This service is called by the
EFI boot service
ConnectController()
. In order to make
drivers as small as possible, there are a few calling restrictions
for this service.
ConnectController()
must follow these
calling restrictions. If any other agent wishes to call
it must also follow these calling restrictions. See the
Start()
function description.
Stop
Stops a controller using this driver. This service is called by the
EFI boot service
. In order to
make drivers as small as possible, there are a few calling
restrictions for this service.
DisconnectController()
must follow these calling restrictions. If any other agent wishes
to call
it must also follow these calling restrictions.
See the
Stop()
function description.
Version
The version number of the EFI Driver that produced the
EFI_DRIVER_BINDING_PROTOCOL
. This field is used by
the EFI boot service
ConnectController()
to determine
the order that driver’s
Supported()
service will be used
when a controller needs to be started. EFI Driver Binding
Protocol instances with higher
Version
values will be used
before ones with lower
Version
values. The
Version
values
of
0x0-0x0f
and
0xfffffff0-0xffffffff
are reserved
for platform/OEM specific drivers. The
Version
values of
0x10-0xffffffef
are reserved for IHV-developed drivers.