EFI_GUID mInventoryGuid = INVENTORY_GUID;\r
\r
CHAR16 VariableName[] = L"MyIfrNVData";\r
+//\r
+// <ConfigHdr> Template\r
+//\r
+CONST CHAR16 mDriverSampleConfigHdr[] = L"GUID=00000000000000000000000000000000&NAME=0000&PATH=00";\r
\r
EFI_HANDLE DriverHandle[2] = {NULL, NULL};\r
DRIVER_SAMPLE_PRIVATE_DATA *PrivateData = NULL;\r
UINTN BufferSize;\r
DRIVER_SAMPLE_PRIVATE_DATA *PrivateData;\r
EFI_HII_CONFIG_ROUTING_PROTOCOL *HiiConfigRouting;\r
- EFI_STRING ConfigRequestHdr;\r
EFI_STRING ConfigRequest;\r
UINTN Size;\r
\r
//\r
// Initialize the local variables.\r
//\r
- ConfigRequestHdr = NULL;\r
ConfigRequest = NULL;\r
Size = 0;\r
*Progress = Request;\r
&PrivateData->Configuration\r
);\r
if (EFI_ERROR (Status)) {\r
- return Status;\r
+ return EFI_NOT_FOUND;\r
}\r
\r
if (Request == NULL) {\r
// Request is set to NULL, construct full request string.\r
//\r
\r
- //\r
- // First Set ConfigRequestHdr string.\r
- //\r
- ConfigRequestHdr = HiiConstructConfigHdr (&mFormSetGuid, VariableName, PrivateData->DriverHandle[0]);\r
- ASSERT (ConfigRequestHdr != NULL);\r
-\r
//\r
// Allocate and fill a buffer large enough to hold the <ConfigHdr> template \r
// followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator\r
//\r
- Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);\r
+ Size = (StrLen (mDriverSampleConfigHdr) + 32 + 1) * sizeof (CHAR16);\r
ConfigRequest = AllocateZeroPool (Size);\r
- UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", ConfigRequestHdr, (UINT64)BufferSize);\r
- FreePool (ConfigRequestHdr);\r
+ UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", mDriverSampleConfigHdr, (UINT64)BufferSize);\r
} else {\r
- ConfigRequest = Request;\r
- }\r
-\r
- //\r
- // Check routing data in <ConfigHdr>.\r
- // Note: if only one Storage is used, then this checking could be skipped.\r
- //\r
- if (!HiiIsConfigHdrMatch (ConfigRequest, &mFormSetGuid, VariableName)) {\r
- if (Request == NULL) {\r
- FreePool (ConfigRequest);\r
+ //\r
+ // Check routing data in <ConfigHdr>.\r
+ // Note: if only one Storage is used, then this checking could be skipped.\r
+ //\r
+ if (!HiiIsConfigHdrMatch (Request, &mFormSetGuid, VariableName)) {\r
+ return EFI_NOT_FOUND;\r
}\r
- return EFI_NOT_FOUND;\r
+ ConfigRequest = Request;\r
}\r
\r
//\r
if (!HiiIsConfigHdrMatch (Configuration, &mPlatformOverridesManagerGuid, mVariableName)) {\r
return EFI_NOT_FOUND;\r
}\r
-\r
+ \r
+ *Progress = Configuration + StrLen (Configuration);\r
Private = EFI_CALLBACK_INFO_FROM_THIS (This);\r
FakeNvData = &Private->FakeNvData;\r
if (!HiiGetBrowserData (&mPlatformOverridesManagerGuid, mVariableName, sizeof (PLAT_OVER_MNGR_DATA), (UINT8 *) FakeNvData)) {\r
- return EFI_NOT_FOUND;\r
+ //\r
+ // FakeNvData can't be got from SetupBrowser, which doesn't need to be set.\r
+ //\r
+ return EFI_SUCCESS;\r
}\r
\r
if (mCurrentPage == FORM_ID_DRIVER) {\r
CommintChanges (Private, KeyValue, FakeNvData);\r
}\r
\r
- *Progress = Configuration + StrLen (Configuration);\r
return EFI_SUCCESS;\r
}\r
\r