| /** @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 <Library/BaseLib.h> | |
| #include <Library/HiiLib.h> | |
| 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; | |
| } |