Return EFI_INVALID_PARAMETER when Type has either EVT_NOTIFY_SIGNAL or EVT_NOTIFY_WAIT set and NotifyTpl is not a supported TPL level.

Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13222 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lzeng14
2012-04-26 03:32:53 +00:00
parent 8d3000031d
commit 670d4d88ac
3 changed files with 82 additions and 7 deletions

View File

@@ -1409,7 +1409,7 @@ CoreExit (
/**
Creates a general-purpose event structure.
Creates an event.
@param Type The type of event to create and its mode and
attributes
@@ -1439,7 +1439,7 @@ CoreCreateEvent (
/**
Creates a general-purpose event structure
Creates an event in a group.
@param Type The type of event to create and its mode and
attributes
@@ -1469,7 +1469,36 @@ CoreCreateEventEx (
OUT EFI_EVENT *Event
);
/**
Creates a general-purpose event structure
@param Type The type of event to create and its mode and
attributes
@param NotifyTpl The task priority level of event notifications
@param NotifyFunction Pointer to the events notification function
@param NotifyContext Pointer to the notification functions context;
corresponds to parameter "Context" in the
notification function
@param EventGroup GUID for EventGroup if NULL act the same as
gBS->CreateEvent().
@param Event Pointer to the newly created event if the call
succeeds; undefined otherwise
@retval EFI_SUCCESS The event structure was created
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value
@retval EFI_OUT_OF_RESOURCES The event could not be allocated
**/
EFI_STATUS
EFIAPI
CoreCreateEventInternal (
IN UINT32 Type,
IN EFI_TPL NotifyTpl,
IN EFI_EVENT_NOTIFY NotifyFunction, OPTIONAL
IN CONST VOID *NotifyContext, OPTIONAL
IN CONST EFI_GUID *EventGroup, OPTIONAL
OUT EFI_EVENT *Event
);
/**
Sets the type of timer and the trigger time for a timer event.