// /** @file
// Module entry point library for UEFI driver, DXE driver and SMM driver.
//
// Module entry point library for UEFI driver, DXE driver and SMM driver.
//
// Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/


#string STR_MODULE_ABSTRACT             #language en-US "Module entry point library for UEFI driver, DXE driver and SMM driver"

#string STR_MODULE_DESCRIPTION          #language en-US "Module entry point library for UEFI driver, DXE driver and SMM driver."

