- Status = VariableLock->RequestToLock (\r
- VariableLock,\r
- VariableName,\r
- &gEfiCallerIdGuid\r
- );\r
- if (!EFI_ERROR (Status)) {\r
- return PreviousStatus;\r
+ // If success, go ahead and set the policies to protect the target variables.\r
+ Status = RegisterBasicVariablePolicy (VariablePolicy,\r
+ &gEfiCallerIdGuid,\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, "FmpDxe(%s): Failed to lock variable %g %s. Status = %r\n",\r
+ mImageIdName,\r
+ &gEfiCallerIdGuid,\r
+ VariableName,\r
+ Status\r
+ ));\r