- //\r
- // Parse the form package and get the default name string ID.\r
- //\r
- if (ActionType == ACTION_SET_DEFAUTL_VALUE) {\r
- PackageOffset = sizeof (EFI_HII_PACKAGE_LIST_HEADER);\r
- Status = EFI_NOT_FOUND;\r
- while (PackageOffset < PackageListLength) {\r
- CopyMem (&PacakgeHeader, (UINT8 *) HiiPackageList + PackageOffset, sizeof (PacakgeHeader));\r
- \r
- //\r
- // Parse IFR opcode to get default store opcode\r
- //\r
- if (PacakgeHeader.Type == EFI_HII_PACKAGE_FORMS) {\r
- IfrOffset = sizeof (PacakgeHeader);\r
- PackageData = (UINT8 *) HiiPackageList + PackageOffset;\r
- while (IfrOffset < PacakgeHeader.Length) {\r
- IfrOpHdr = (EFI_IFR_OP_HEADER *) (PackageData + IfrOffset);\r
- //\r
- // Match DefaultId to find its DefaultName\r
- //\r
- if (IfrOpHdr->OpCode == EFI_IFR_DEFAULTSTORE_OP) {\r
- if (((EFI_IFR_DEFAULTSTORE *) IfrOpHdr)->DefaultId == DefaultId) {\r
- DefaultName = ((EFI_IFR_DEFAULTSTORE *) IfrOpHdr)->DefaultName;\r
- Status = EFI_SUCCESS;\r
- break;\r
- }\r
- }\r
- IfrOffset += IfrOpHdr->Length;\r
- }\r
- //\r
- // Only one form is in a package list.\r
- //\r
- break;\r
- }\r
- \r
- //\r
- // Go to next package.\r
- //\r
- PackageOffset += PacakgeHeader.Length; \r
- }\r
- \r
- //\r
- // Not found the matched default string ID\r
- //\r
- if (EFI_ERROR (Status)) {\r
- Status = EFI_SUCCESS;\r
- goto NextConfigAltResp;\r
- }\r
- }\r
- \r