Services
Version 1.02 12/12/00 71
3.4.2 StartImage()
Summary
Transfers control to a loaded images entry point.
Prototype
EFI_STATUS
StartImage (
IN EFI_HANDLE ImageHandle,
OUT UINTN *ExitDataSize,
OUT CHAR16 **ExitData OPTIONAL
);
Parameters
ImageHandle Handle of image to be started. Type EFI_HANDLE is defined in
Section 3.3.1.
ExitDataSize Pointer to the size, in bytes, of ExitData.
ExitData Pointer to a pointer to a data buffer that includes a Null-terminated
Unicode string, optionally followed by additional binary data. The string
is a description that the caller may use to further indicate the reason for
the images exit.
Description
The StartImage() function transfers control to the entry point of an image that was loaded by
LoadImage(). The image may only be started one time.
Control returns from StartImage() when the loaded image calls Exit(). When that call is
made, the ExitData buffer and ExitDataSize from Exit() (see Section 3.4.5) are passed
back through the ExitData buffer and ExitDataSize in this function. The caller of this
function is responsible for returning the ExitData buffer to the pool by calling FreePool()
when the buffer is no longer needed.
Status Codes Returned
EFI_INVALID_PARAMETER ImageHandle is not a handle to an unstarted image.
Exit code from image Exit code from image.