MdePkg/Library/UefiLib/UefiDriverModel.c File Reference


Functions

EFI_STATUS EFIAPI EfiLibInstallDriverBinding (IN CONST EFI_HANDLE ImageHandle, IN CONST EFI_SYSTEM_TABLE *SystemTable, IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE DriverBindingHandle)
EFI_STATUS EFIAPI EfiLibInstallAllDriverProtocols (IN CONST EFI_HANDLE ImageHandle, IN CONST EFI_SYSTEM_TABLE *SystemTable, IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE DriverBindingHandle, IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName, IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration, IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics)
EFI_STATUS EFIAPI EfiLibInstallDriverBindingComponentName2 (IN CONST EFI_HANDLE ImageHandle, IN CONST EFI_SYSTEM_TABLE *SystemTable, IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE DriverBindingHandle, IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName, IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2)
EFI_STATUS EFIAPI EfiLibInstallAllDriverProtocols2 (IN CONST EFI_HANDLE ImageHandle, IN CONST EFI_SYSTEM_TABLE *SystemTable, IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding, IN EFI_HANDLE DriverBindingHandle, IN CONST EFI_COMPONENT_NAME_PROTOCOL *ComponentName, IN CONST EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2, IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration, IN CONST EFI_DRIVER_CONFIGURATION2_PROTOCOL *DriverConfiguration2, IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics, IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *DriverDiagnostics2)

Detailed Description

Library functions that abstract driver model protocols installation.

Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.


Function Documentation

EFI_STATUS EFIAPI EfiLibInstallAllDriverProtocols ( IN CONST EFI_HANDLE  ImageHandle,
IN CONST EFI_SYSTEM_TABLE SystemTable,
IN EFI_DRIVER_BINDING_PROTOCOL DriverBinding,
IN EFI_HANDLE  DriverBindingHandle,
IN CONST EFI_COMPONENT_NAME_PROTOCOL ComponentName,
IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL DriverConfiguration,
IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL DriverDiagnostics 
)

Installs and completes the initialization of a Driver Binding Protocol instance and optionally installs the Component Name, Driver Configuration and Driver Diagnostics Protocols.

Initializes a driver by installing the Driver Binding Protocol together with the optional Component Name, optional Driver Configure and optional Driver Diagnostic Protocols onto the driver's DriverBindingHandle. If DriverBindingHandle is NULL, then the protocols are installed onto a newly created handle. DriverBindingHandle is typically the same as the driver's ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols. If DriverBinding is NULL, then ASSERT(). If the installation fails, then ASSERT().

Parameters:
ImageHandle The image handle of the driver.
SystemTable The EFI System Table that was passed to the driver's entry point.
DriverBinding A Driver Binding Protocol instance that this driver is producing.
DriverBindingHandle The handle that DriverBinding is to be installed onto. If this parameter is NULL, then a new handle is created.
ComponentName A Component Name Protocol instance that this driver is producing.
DriverConfiguration A Driver Configuration Protocol instance that this driver is producing.
DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing.
Return values:
EFI_SUCCESS The protocol installation successfully completed.
EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.

References ASSERT, ASSERT_EFI_ERROR, FeaturePcdGet, gBS, gEfiComponentNameProtocolGuid, gEfiDriverBindingProtocolGuid, gEfiDriverConfigurationProtocolGuid, gEfiDriverDiagnosticsProtocolGuid, EFI_BOOT_SERVICES::InstallMultipleProtocolInterfaces, and NULL.

EFI_STATUS EFIAPI EfiLibInstallAllDriverProtocols2 ( IN CONST EFI_HANDLE  ImageHandle,
IN CONST EFI_SYSTEM_TABLE SystemTable,
IN EFI_DRIVER_BINDING_PROTOCOL DriverBinding,
IN EFI_HANDLE  DriverBindingHandle,
IN CONST EFI_COMPONENT_NAME_PROTOCOL ComponentName,
IN CONST EFI_COMPONENT_NAME2_PROTOCOL ComponentName2,
IN CONST EFI_DRIVER_CONFIGURATION_PROTOCOL DriverConfiguration,
IN CONST EFI_DRIVER_CONFIGURATION2_PROTOCOL DriverConfiguration2,
IN CONST EFI_DRIVER_DIAGNOSTICS_PROTOCOL DriverDiagnostics,
IN CONST EFI_DRIVER_DIAGNOSTICS2_PROTOCOL DriverDiagnostics2 
)

Installs Driver Binding Protocol with optional Component Name, Component Name 2, Driver Configuration, Driver Configuration 2, Driver Diagnostics, and Driver Diagnostics 2 Protocols.

Initializes a driver by installing the Driver Binding Protocol together with the optional Component Name, optional Component Name 2, optional Driver Configuration, optional Driver Configuration 2, optional Driver Diagnostic, and optional Driver Diagnostic 2 Protocols onto the driver's DriverBindingHandle. DriverBindingHandle is typically the same as the driver's ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols. If DriverBinding is NULL, then ASSERT(). If the installation fails, then ASSERT().

Parameters:
ImageHandle The image handle of the driver.
SystemTable The EFI System Table that was passed to the driver's entry point.
DriverBinding A Driver Binding Protocol instance that this driver is producing.
DriverBindingHandle The handle that DriverBinding is to be installed onto. If this parameter is NULL, then a new handle is created.
ComponentName A Component Name Protocol instance that this driver is producing.
ComponentName2 A Component Name 2 Protocol instance that this driver is producing.
DriverConfiguration A Driver Configuration Protocol instance that this driver is producing.
DriverConfiguration2 A Driver Configuration Protocol 2 instance that this driver is producing.
DriverDiagnostics A Driver Diagnostics Protocol instance that this driver is producing.
DriverDiagnostics2 A Driver Diagnostics Protocol 2 instance that this driver is producing.
Return values:
EFI_SUCCESS The protocol installation successfully completed.
EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.

References ASSERT, ASSERT_EFI_ERROR, FeaturePcdGet, gBS, gEfiComponentName2ProtocolGuid, gEfiComponentNameProtocolGuid, gEfiDriverBindingProtocolGuid, gEfiDriverConfiguration2ProtocolGuid, gEfiDriverConfigurationProtocolGuid, gEfiDriverDiagnostics2ProtocolGuid, gEfiDriverDiagnosticsProtocolGuid, EFI_BOOT_SERVICES::InstallMultipleProtocolInterfaces, and NULL.

EFI_STATUS EFIAPI EfiLibInstallDriverBinding ( IN CONST EFI_HANDLE  ImageHandle,
IN CONST EFI_SYSTEM_TABLE SystemTable,
IN EFI_DRIVER_BINDING_PROTOCOL DriverBinding,
IN EFI_HANDLE  DriverBindingHandle 
)

Installs and completes the initialization of a Driver Binding Protocol instance.

Installs the Driver Binding Protocol specified by DriverBinding onto the handle specified by DriverBindingHandle. If DriverBindingHandle is NULL, then DriverBinding is installed onto a newly created handle. DriverBindingHandle is typically the same as the driver's ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols. If DriverBinding is NULL, then ASSERT(). If DriverBinding can not be installed onto a handle, then ASSERT().

Parameters:
ImageHandle The image handle of the driver.
SystemTable The EFI System Table that was passed to the driver's entry point.
DriverBinding A Driver Binding Protocol instance that this driver is producing.
DriverBindingHandle The handle that DriverBinding is to be installed onto. If this parameter is NULL, then a new handle is created.
Return values:
EFI_SUCCESS The protocol installation successfully completed.
EFI_OUT_OF_RESOURCES There was not enough system resources to install the protocol.
Others Status from gBS->InstallMultipleProtocolInterfaces().

References ASSERT, ASSERT_EFI_ERROR, gBS, gEfiDriverBindingProtocolGuid, EFI_BOOT_SERVICES::InstallMultipleProtocolInterfaces, and NULL.

EFI_STATUS EFIAPI EfiLibInstallDriverBindingComponentName2 ( IN CONST EFI_HANDLE  ImageHandle,
IN CONST EFI_SYSTEM_TABLE SystemTable,
IN EFI_DRIVER_BINDING_PROTOCOL DriverBinding,
IN EFI_HANDLE  DriverBindingHandle,
IN CONST EFI_COMPONENT_NAME_PROTOCOL ComponentName,
IN CONST EFI_COMPONENT_NAME2_PROTOCOL ComponentName2 
)

Installs Driver Binding Protocol with optional Component Name and Component Name 2 Protocols.

Initializes a driver by installing the Driver Binding Protocol together with the optional Component Name and optional Component Name 2 protocols onto the driver's DriverBindingHandle. If DriverBindingHandle is NULL, then the protocols are installed onto a newly created handle. DriverBindingHandle is typically the same as the driver's ImageHandle, but it can be different if the driver produces multiple Driver Binding Protocols. If DriverBinding is NULL, then ASSERT(). If the installation fails, then ASSERT().

Parameters:
ImageHandle The image handle of the driver.
SystemTable The EFI System Table that was passed to the driver's entry point.
DriverBinding A Driver Binding Protocol instance that this driver is producing.
DriverBindingHandle The handle that DriverBinding is to be installed onto. If this parameter is NULL, then a new handle is created.
ComponentName A Component Name Protocol instance that this driver is producing.
ComponentName2 A Component Name 2 Protocol instance that this driver is producing.
Return values:
EFI_SUCCESS The protocol installation successfully completed.
EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.

References ASSERT, ASSERT_EFI_ERROR, FeaturePcdGet, gBS, gEfiComponentName2ProtocolGuid, gEfiComponentNameProtocolGuid, gEfiDriverBindingProtocolGuid, EFI_BOOT_SERVICES::InstallMultipleProtocolInterfaces, and NULL.


Generated on Thu Sep 24 23:14:24 2015 for MdePkg[ALL] by  doxygen 1.5.7.1