/* Get Value for given Name from a NameValue Storage. */
EFI_STATUS GetValueByName(IN HII_FORMSET_STORAGE *Storage, IN CHAR16 *Name, IN OUT CHAR16 **Value)
/* Get Value for given Name from a NameValue Storage. */
EFI_STATUS GetValueByName(IN HII_FORMSET_STORAGE *Storage, IN CHAR16 *Name, IN OUT CHAR16 **Value)
{
  LIST_ENTRY           *Link;
  HII_NAME_VALUE_NODE  *Node;
  if ((Storage == NULL) || (Value == NULL)) {
    return EFI_INVALID_PARAMETER;
  }
  *Value = NULL;
  Link = GetFirstNode (&Storage->NameValueList);
  while (!IsNull (&Storage->NameValueList, Link)) {
    Node = HII_NAME_VALUE_NODE_FROM_LINK (Link);
    if (StrCmp (Name, Node->Name) == 0) {
      NewStringCopy (Value, Node->Value);
      return EFI_SUCCESS;
    }
    Link = GetNextNode (&Storage->NameValueList, Link);
  }
  return EFI_NOT_FOUND;
}