A.2.2 DriverConfiguration.c File

Example A-7-Driver Configuration Protocol implementation template
/** @file
  <<BriefDescription>>
  <<DetailedDescription>>
  <<Copyright>>
  <<License>>
**/

#include "<<DriverName>>.h"

GLOBAL_REMOVE_IF_UNREFERENCED
EFI_DRIVER_CONFIGURATION_PROTOCOL g<<DriverName>>DriverConfiguration = {
  (EFI_DRIVER_CONFIGURATION_SET_OPTIONS)    <<DriverName>>DriverConfigurationSetOptions,
  (EFI_DRIVER_CONFIGURATION_OPTIONS_VALID)  <<DriverName>>DriverConfigurationOptionsValid,
  (EFI_DRIVER_CONFIGURATION_FORCE_DEFAULTS) <<DriverName>>DriverConfigurationForceDefaults,
  "<<Iso639SupportedLanguages>>"
};

///
/// Driver Configuration 2 Protocol instance
///
GLOBAL_REMOVE_IF_UNREFERENCED
EFI_DRIVER_CONFIGURATION2_PROTOCOL g<<DriverName>>DriverConfiguration2 = {
  <<DriverName>>DriverConfigurationSetOptions,
  <<DriverName>>DriverConfigurationOptionsValid,
  <<DriverName>>DriverConfigurationForceDefaults,
  "<<Rfc4646SupportedLanguages>>"
};

EFI_STATUS
EFIAPI
<<DriverName>>DriverConfigurationSetOptions (
  IN  EFI_DRIVER_CONFIGURATION2_PROTOCOL        *This,
  IN  EFI_HANDLE                                ControllerHandle,
  IN  EFI_HANDLE                                ChildHandle,       OPTIONAL
  IN  CHAR8                                     *Language,
  OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED  *ActionRequired
  )
{
  return EFI_UNSUPPORTED;
}
EFI_STATUS
EFIAPI
<<DriverName>>DriverConfigurationOptionsValid (
  IN EFI_DRIVER_CONFIGURATION2_PROTOCOL         *This,
  IN EFI_HANDLE                                 ControllerHandle,
  IN EFI_HANDLE                                 ChildHandle        OPTIONAL
  )
{
  return EFI_UNSUPPORTED;
}

EFI_STATUS
EFIAPI
<<DriverName>>DriverConfigurationForceDefaults (
  IN  EFI_DRIVER_CONFIGURATION2_PROTOCOL        *This,
  IN  EFI_HANDLE                                ControllerHandle,
  IN  EFI_HANDLE                                ChildHandle,       OPTIONAL
  IN  UINT32                                    DefaultType,
  OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED  *ActionRequired
  )
{
  return EFI_UNSUPPORTED;
}