+ //\r
+ // Convert Event type for pre-defined Event groups\r
+ //\r
+ if (EventGroup != NULL) {\r
+ //\r
+ // For event group, type EVT_SIGNAL_EXIT_BOOT_SERVICES and EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE\r
+ // are not valid\r
+ //\r
+ if ((Type == EVT_SIGNAL_EXIT_BOOT_SERVICES) || (Type == EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE)) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ if (CompareGuid (EventGroup, &gEfiEventExitBootServicesGuid)) {\r
+ Type = EVT_SIGNAL_EXIT_BOOT_SERVICES;\r
+ } else if (CompareGuid (EventGroup, &gEfiEventVirtualAddressChangeGuid)) {\r
+ Type = EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE;\r
+ }\r
+ } else {\r
+ //\r
+ // Convert EFI 1.10 Events to their UEFI 2.0 CreateEventEx mapping\r
+ //\r
+ if (Type == EVT_SIGNAL_EXIT_BOOT_SERVICES) {\r
+ EventGroup = &gEfiEventExitBootServicesGuid;\r
+ } else if (Type == EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE) {\r
+ EventGroup = &gEfiEventVirtualAddressChangeGuid;\r
+ }\r
+ }\r
+\r