+/**\r
+ Lock Variable by variable policy.\r
+\r
+ @param[in] VariableGuid The Guid of the variable to be locked\r
+ @param[in] VariableName The name of the variable to be locked\r
+ @param[in] VariablePolicy The pointer of variable lock policy\r
+**/\r
+VOID\r
+LockVariable (\r
+ IN CONST EFI_GUID VariableGuid,\r
+ IN CHAR16 *VariableName,\r
+ IN EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy\r
+ )\r
+{\r
+ EFI_STATUS Status;\r
+\r
+ // Set the policies to protect the target variables\r
+ Status = RegisterBasicVariablePolicy (VariablePolicy,\r
+ &VariableGuid,\r
+ VariableName,\r
+ VARIABLE_POLICY_NO_MIN_SIZE,\r
+ VARIABLE_POLICY_NO_MAX_SIZE,\r
+ VARIABLE_POLICY_NO_MUST_ATTR,\r
+ VARIABLE_POLICY_NO_CANT_ATTR,\r
+ VARIABLE_POLICY_TYPE_LOCK_NOW);\r
+ if (EFI_ERROR (Status)) {\r
+ DEBUG ((DEBUG_ERROR, "DxeCapsuleLibFmp: Failed to lock variable %g %s. Status = %r\n",\r
+ &VariableGuid,\r
+ VariableName,\r
+ Status));\r
+ ASSERT_EFI_ERROR (Status);\r
+ }\r
+}\r
+\r