Update UefiHiiLib to support new defined IFR related HII APIs.

Apply new defined IFR related HII APIs in PlatOverMngr, DriverSample, IScsiDxe and Setup drivers.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8066 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4
2009-04-13 06:05:15 +00:00
parent 3f07728f2a
commit 7e3bcccb0e
25 changed files with 3837 additions and 461 deletions

View File

@@ -323,40 +323,25 @@ InitializeConfigHdr (
IN OUT FORMSET_STORAGE *Storage
)
{
EFI_STATUS Status;
UINTN StrBufferLen;
CHAR16 *Name;
if (Storage->Type == EFI_HII_VARSTORE_BUFFER) {
Name = Storage->Name;
} else {
Name = NULL;
}
StrBufferLen = 0;
Status = ConstructConfigHdr (
Storage->ConfigHdr,
&StrBufferLen,
&Storage->Guid,
Name,
FormSet->DriverHandle
);
if (Status == EFI_BUFFER_TOO_SMALL) {
Storage->ConfigHdr = AllocateZeroPool (StrBufferLen);
Status = ConstructConfigHdr (
Storage->ConfigHdr,
&StrBufferLen,
&Storage->Guid,
Name,
FormSet->DriverHandle
);
Storage->ConfigHdr = HiiConstructConfigHdr (
&Storage->Guid,
Name,
FormSet->DriverHandle
);
if (Storage->ConfigHdr == NULL) {
return EFI_NOT_FOUND;
}
if (EFI_ERROR (Status)) {
return Status;
}
Storage->ConfigRequest = AllocateCopyPool (StrBufferLen, Storage->ConfigHdr);
Storage->ConfigRequest = AllocateCopyPool (StrSize (Storage->ConfigHdr), Storage->ConfigHdr);
Storage->SpareStrLen = 0;
return EFI_SUCCESS;