)\r
{\r
EFI_STATUS Status;\r
- EFI_HANDLE DriverHandle;\r
- EFI_HANDLE Handle;\r
- EFI_HII_HANDLE *HiiHandles;\r
EFI_HII_HANDLE HiiHandle;\r
- UINTN Index;\r
FORM_BROWSER_STATEMENT *Question;\r
FORM_BROWSER_FORMSET *FormSet;\r
FORM_BROWSER_FORM *Form;\r
(DevicePath == NULL && InputHiiHandle != NULL) );\r
\r
GetTheVal = TRUE;\r
- DriverHandle = NULL;\r
HiiHandle = NULL;\r
Question = NULL;\r
Form = NULL;\r
// Get HiiHandle.\r
//\r
if (DevicePath != NULL) {\r
- //\r
- // 1. Get Driver handle.\r
- //\r
- Status = gBS->LocateDevicePath (\r
- &gEfiDevicePathProtocolGuid,\r
- &DevicePath,\r
- &DriverHandle\r
- );\r
- if (EFI_ERROR (Status) || (DriverHandle == NULL)) {\r
- return FALSE;\r
- }\r
-\r
- //\r
- // 2. Get Hii handle\r
- //\r
- HiiHandles = HiiGetHiiHandles (NULL);\r
- if (HiiHandles == NULL) {\r
+ HiiHandle = DevicePathToHiiHandle (DevicePath, FormSetGuid);\r
+ if (HiiHandle == NULL) {\r
return FALSE;\r
}\r
-\r
- for (Index = 0; HiiHandles[Index] != NULL; Index++) {\r
- Status = mHiiDatabase->GetPackageListHandle (\r
- mHiiDatabase,\r
- HiiHandles[Index],\r
- &Handle\r
- );\r
- if (!EFI_ERROR (Status) && (Handle == DriverHandle)) {\r
- HiiHandle = HiiHandles[Index];\r
- break;\r
- }\r
- }\r
- FreePool (HiiHandles);\r
} else {\r
HiiHandle = InputHiiHandle;\r
} \r