\r
CHAR16 VariableName[] = L"MyIfrNVData";\r
\r
+HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath1 = {\r
+ {\r
+ {\r
+ HARDWARE_DEVICE_PATH,\r
+ HW_VENDOR_DP,\r
+ {\r
+ (UINT8) (sizeof (VENDOR_DEVICE_PATH)),\r
+ (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
+ }\r
+ },\r
+ //\r
+ // {C153B68D-EBFC-488e-B110-662867745B87}\r
+ //\r
+ { 0xc153b68d, 0xebfc, 0x488e, { 0xb1, 0x10, 0x66, 0x28, 0x67, 0x74, 0x5b, 0x87 } }\r
+ },\r
+ {\r
+ END_DEVICE_PATH_TYPE,\r
+ END_ENTIRE_DEVICE_PATH_SUBTYPE,\r
+ { \r
+ (UINT8) (END_DEVICE_PATH_LENGTH),\r
+ (UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)\r
+ }\r
+ }\r
+};\r
+\r
+HII_VENDOR_DEVICE_PATH mHiiVendorDevicePath2 = {\r
+ {\r
+ {\r
+ HARDWARE_DEVICE_PATH,\r
+ HW_VENDOR_DP,\r
+ {\r
+ (UINT8) (sizeof (VENDOR_DEVICE_PATH)),\r
+ (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
+ }\r
+ },\r
+ //\r
+ // {06F37F07-0C48-40e9-8436-0A08A0BB76B0}\r
+ //\r
+ { 0x6f37f07, 0xc48, 0x40e9, { 0x84, 0x36, 0xa, 0x8, 0xa0, 0xbb, 0x76, 0xb0 } }\r
+ },\r
+ {\r
+ END_DEVICE_PATH_TYPE,\r
+ END_ENTIRE_DEVICE_PATH_SUBTYPE,\r
+ { \r
+ (UINT8) (END_DEVICE_PATH_LENGTH),\r
+ (UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)\r
+ }\r
+ }\r
+};\r
+\r
/**\r
Encode the password using a simple algorithm.\r
\r
EFI_STATUS SavedStatus;\r
EFI_HII_PACKAGE_LIST_HEADER *PackageList;\r
EFI_HII_HANDLE HiiHandle[2];\r
- EFI_HANDLE DriverHandle[2];\r
+ EFI_HANDLE DriverHandle[2] = {NULL, NULL};\r
DRIVER_SAMPLE_PRIVATE_DATA *PrivateData;\r
EFI_SCREEN_DESCRIPTOR Screen;\r
EFI_HII_DATABASE_PROTOCOL *HiiDatabase;\r
}\r
PrivateData->HiiConfigRouting = HiiConfigRouting;\r
\r
- //\r
- // Install Config Access protocol\r
- //\r
- Status = HiiLibCreateHiiDriverHandle (&DriverHandle[0]);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
- PrivateData->DriverHandle[0] = DriverHandle[0];\r
-\r
- Status = gBS->InstallProtocolInterface (\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
&DriverHandle[0],\r
+ &gEfiDevicePathProtocolGuid,\r
+ &mHiiVendorDevicePath1,\r
&gEfiHiiConfigAccessProtocolGuid,\r
- EFI_NATIVE_INTERFACE,\r
- &PrivateData->ConfigAccess\r
+ &PrivateData->ConfigAccess,\r
+ NULL\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
+ PrivateData->DriverHandle[0] = DriverHandle[0];\r
+\r
//\r
// Publish our HII data\r
//\r
//\r
// Publish another Fromset\r
//\r
- Status = HiiLibCreateHiiDriverHandle (&DriverHandle[1]);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &DriverHandle[1],\r
+ &gEfiDevicePathProtocolGuid,\r
+ &mHiiVendorDevicePath2,\r
+ NULL\r
+ );\r
+ ASSERT_EFI_ERROR (Status);\r
+\r
PrivateData->DriverHandle[1] = DriverHandle[1];\r
\r
PackageList = HiiLibPreparePackageList (\r