return Status;\r
}\r
\r
+/**\r
+ Signals an event group by placing a new event in the group temporarily and\r
+ signaling it.\r
+\r
+ @param[in] EventGroup Supplies the unique identifier of the event\r
+ group to signal.\r
+\r
+ @retval EFI_SUCCESS The event group was signaled successfully.\r
+ @retval EFI_INVALID_PARAMETER EventGroup is NULL.\r
+ @return Error codes that report problems about event\r
+ creation or signaling.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+EfiEventGroupSignal (\r
+ IN CONST EFI_GUID *EventGroup\r
+ )\r
+{\r
+ EFI_STATUS Status;\r
+ EFI_EVENT Event;\r
+\r
+ if (EventGroup == NULL) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+\r
+ Status = gBS->CreateEventEx (\r
+ EVT_NOTIFY_SIGNAL,\r
+ TPL_CALLBACK,\r
+ InternalEmptyFunction,\r
+ NULL,\r
+ EventGroup,\r
+ &Event\r
+ );\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
+ Status = gBS->SignalEvent (Event);\r
+ gBS->CloseEvent (Event);\r
+\r
+ return Status;\r
+}\r
+\r
/** \r
Returns the current TPL.\r
\r