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
\r
DRIVER_SAMPLE_PRIVATE_DATA *PrivateData;\r
EFI_HII_CONFIG_ROUTING_PROTOCOL *HiiConfigRouting;\r
EFI_STRING ConfigRequest;\r
+ EFI_STRING ConfigRequestHdr;\r
UINTN Size;\r
\r
- if (Progress == NULL || Results == NULL) {\r
+ if (Progress == NULL || Results == NULL || Request == NULL) {\r
return EFI_INVALID_PARAMETER;\r
}\r
//\r
// Initialize the local variables.\r
//\r
- ConfigRequest = NULL;\r
- Size = 0;\r
- *Progress = Request;\r
+ ConfigRequestHdr = NULL;\r
+ ConfigRequest = NULL;\r
+ Size = 0;\r
+ *Progress = Request;\r
\r
PrivateData = DRIVER_SAMPLE_PRIVATE_FROM_THIS (This);\r
HiiConfigRouting = PrivateData->HiiConfigRouting;\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 (mDriverSampleConfigHdr) + 32 + 1) * sizeof (CHAR16);\r
+ ConfigRequestHdr = HiiConstructConfigHdr (&mFormSetGuid, VariableName, PrivateData->DriverHandle[0]);\r
+ Size = (StrLen (ConfigRequest) + 32 + 1) * sizeof (CHAR16);\r
ConfigRequest = AllocateZeroPool (Size);\r
- UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", mDriverSampleConfigHdr, (UINT64)BufferSize);\r
+ UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", ConfigRequestHdr, (UINT64)BufferSize);\r
+ FreePool (ConfigRequestHdr);\r
} else {\r
//\r
// Check routing data in <ConfigHdr>.\r
DRIVER_SAMPLE_CONFIGURATION *Configuration;\r
BOOLEAN ActionFlag;\r
EFI_STRING ConfigRequestHdr; \r
-\r
+ \r
//\r
// Initialize the local variables.\r
//\r