Update DxeCore to support to install gEfiHiiPackageListProtocolGuid in LoadImage() if it detects the existence of HII resource on the PE image.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8142 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -641,6 +641,14 @@ CoreUnloadAndCloseImage (
|
||||
&Image->Info
|
||||
);
|
||||
|
||||
if (Image->ImageContext.HiiResourceData != 0) {
|
||||
Status = CoreUninstallProtocolInterface (
|
||||
Image->Handle,
|
||||
&gEfiHiiPackageListProtocolGuid,
|
||||
(VOID *) (UINTN) Image->ImageContext.HiiResourceData
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (Image->RuntimeData != NULL) {
|
||||
@@ -903,6 +911,21 @@ CoreLoadImageCommon (
|
||||
goto Done;
|
||||
}
|
||||
|
||||
//
|
||||
// Install HII Package List Protocol onto the image handle
|
||||
//
|
||||
if (Image->ImageContext.HiiResourceData != 0) {
|
||||
Status = CoreInstallProtocolInterface (
|
||||
&Image->Handle,
|
||||
&gEfiHiiPackageListProtocolGuid,
|
||||
EFI_NATIVE_INTERFACE,
|
||||
(VOID *) (UINTN) Image->ImageContext.HiiResourceData
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto Done;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Success. Return the image handle
|
||||
//
|
||||
|
Reference in New Issue
Block a user