/** @file Functionality specific for standalone UEFI application support. This application can provide detailed UEFI variable policy configuration information in the UEFI shell. Copyright (c) Microsoft Corporation. SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "VariablePolicy.h" #include #include extern EFI_HII_HANDLE mVarPolicyShellCommandHiiHandle; // // String token ID of help message text. // Shell supports finding the help message in the resource section of an // application image if a .MAN file is not found. This global variable is added // to make the build tool recognize that the help string is consumed by the user and // then the build tool will add the string into the resource section. Thus the // application can use '-?' option to show help message in Shell. // GLOBAL_REMOVE_IF_UNREFERENCED EFI_STRING_ID mStringHelpTokenId = STRING_TOKEN (STR_GET_HELP_VAR_POLICY); /** Entry of the UEFI variable policy application. @param ImageHandle The image handle of the process. @param SystemTable The EFI System Table pointer. @retval EFI_SUCCESS The application successfully initialized. @retval EFI_ABORTED The application failed to initialize. @retval Others A different error occurred. **/ EFI_STATUS EFIAPI VariablePolicyAppInitialize ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ) { EFI_STATUS Status; mVarPolicyShellCommandHiiHandle = InitializeHiiPackage (ImageHandle); if (mVarPolicyShellCommandHiiHandle == NULL) { return EFI_ABORTED; } Status = (EFI_STATUS)RunVarPolicy (ImageHandle, SystemTable); HiiRemovePackages (mVarPolicyShellCommandHiiHandle); return Status; }