]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/DriverSampleDxe/DriverSample.c
Update HiiDataBase and UefiHiiLib to support Name/Value varstore.
[mirror_edk2.git] / MdeModulePkg / Universal / DriverSampleDxe / DriverSample.c
index 3ae55de2b0dd36adbd6efddc384d25fad7c71e15..cb2cbe7932806e24f66c8df1e2ffb20d48d51f8f 100644 (file)
@@ -1794,6 +1794,7 @@ DriverSampleInit (
   DRIVER_SAMPLE_CONFIGURATION     *Configuration;\r
   BOOLEAN                         ActionFlag;\r
   EFI_STRING                      ConfigRequestHdr;\r
+  EFI_STRING                      NameRequestHdr;\r
   MY_EFI_VARSTORE_DATA            *VarStoreConfig;\r
   EFI_INPUT_KEY                   HotKey;\r
   EFI_FORM_BROWSER_EXTENSION_PROTOCOL *FormBrowserEx;\r
@@ -1973,6 +1974,9 @@ DriverSampleInit (
   ConfigRequestHdr = HiiConstructConfigHdr (&gDriverSampleFormSetGuid, VariableName, DriverHandle[0]);\r
   ASSERT (ConfigRequestHdr != NULL);\r
 \r
+  NameRequestHdr = HiiConstructConfigHdr (&gDriverSampleFormSetGuid, NULL, DriverHandle[0]);\r
+  ASSERT (NameRequestHdr != NULL);\r
+\r
   BufferSize = sizeof (DRIVER_SAMPLE_CONFIGURATION);\r
   Status = gRT->GetVariable (VariableName, &gDriverSampleFormSetGuid, NULL, &BufferSize, Configuration);\r
   if (EFI_ERROR (Status)) {\r
@@ -1991,12 +1995,18 @@ DriverSampleInit (
     // EFI variable for NV config doesn't exit, we should build this variable\r
     // based on default values stored in IFR\r
     //\r
+    ActionFlag = HiiSetToDefaults (NameRequestHdr, EFI_HII_DEFAULT_CLASS_STANDARD);\r
+    ASSERT (ActionFlag);\r
+\r
     ActionFlag = HiiSetToDefaults (ConfigRequestHdr, EFI_HII_DEFAULT_CLASS_STANDARD);\r
     ASSERT (ActionFlag);\r
   } else {\r
     //\r
     // EFI variable does exist and Validate Current Setting\r
     //\r
+    ActionFlag = HiiValidateSettings (NameRequestHdr);\r
+    ASSERT (ActionFlag);\r
+\r
     ActionFlag = HiiValidateSettings (ConfigRequestHdr);\r
     ASSERT (ActionFlag);\r
   }\r