-//\r
-// Interface structure for the ControllerHandle Driver Protocol\r
-//\r
-/**\r
- @par Protocol Description:\r
- This protocol provides the services required to determine if a driver supports a given controller. \r
- If a controller is supported, then it also provides routines to start and stop the controller.\r
- \r
- @param Supported \r
- Tests to see if this driver supports a given controller. This service\r
- is called by the EFI boot service ConnectController(). In\r
- order to make drivers as small as possible, there are a few calling\r
- restrictions for this service. ConnectController() must\r
- follow these calling restrictions. If any other agent wishes to call\r
- Supported() it must also follow these calling restrictions.\r
-\r
-\r
- @param Start \r
- Starts a controller using this driver. This service is called by the\r
- EFI boot service ConnectController(). In order to make\r
- drivers as small as possible, there are a few calling restrictions for\r
- this service. ConnectController() must follow these\r
- calling restrictions. If any other agent wishes to call Start() it\r
- must also follow these calling restrictions. \r
- \r
- @param Stop \r
- Stops a controller using this driver. This service is called by the\r
- EFI boot service DisconnectController(). In order to\r
- make drivers as small as possible, there are a few calling\r
- restrictions for this service. DisconnectController()\r
- must follow these calling restrictions. If any other agent wishes\r
- to call Stop() it must also follow these calling restrictions.\r
- \r
- @param Version \r
- The version number of the UEFI driver that produced the\r
- EFI_DRIVER_BINDING_PROTOCOL. This field is used by\r
- the EFI boot service ConnectController() to determine\r
- the order that driver's Supported() service will be used when\r
- a controller needs to be started. EFI Driver Binding Protocol\r
- instances with higher Version values will be used before ones\r
- with lower Version values. The Version values of 0x0-\r
- 0x0f and 0xfffffff0-0xffffffff are reserved for\r
- platform/OEM specific drivers. The Version values of 0x10-\r
- 0xffffffef are reserved for IHV-developed drivers.\r
- \r
- @param ImageHandle \r
- The image handle of the UEFI driver that produced this instance\r
- of the EFI_DRIVER_BINDING_PROTOCOL.\r
- \r
- @param DriverBindingHandle\r
- The handle on which this instance of the\r
- EFI_DRIVER_BINDING_PROTOCOL is installed. In most\r
- cases, this is the same handle as ImageHandle. However, for\r
- UEFI drivers that produce more than one instance of the\r
- EFI_DRIVER_BINDING_PROTOCOL, this value may not be\r
- the same as ImageHandle.\r
-\r
-**/\r