Efi_uga_io_protocol.createdevice(), Createdevice(), With – Intel Extensible Firmware Interface User Manual
Page 331
Protocols
— Console Support
Version 1.10
12/01/02
10-37
EFI_UGA_IO_PROTOCOL.CreateDevice()
Summary
Dynamically allocate storage for a child
UGA_DEVICE
.
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_UGA_IO_CREATE_DEVICE) (
IN EFI_UGA_IO_PROTOCOL
*This,
IN UGA_DEVICE
*ParentDevice,
IN UGA_DEVICE_DATA
*DeviceData,
IN VOID
*RunTimeContext,
OUT UGA_DEVICE
**Device
);
Parameters
This
instance. Type
EFI_UGA_IO_PROTOCOL
is defined in Section 10.7.
ParentDevice ParentDevice
specifies a pointer to the parent device of
Device
.
DeviceData
A pointer to
UGA_DEVICE_DATA
returned from a call to
with a
UGA_DEVICE
of
Parent
and an
IoRequest
of type
UgaIoGetChildDevice
.
RuntimeContext
Context to associate with
Device
.
Device
The
Device
returns a dynamically allocated child
UGA_DEVICE
object
for
ParentDevice
. The caller is responsible for deleting
Device
.
Description
A
UGA_DEVICE
object contains data fields that are defined by this specification and pointers to
implementation specific data structures. Since a
UGA_DEVICE
contains implementation specific
data that must be dynamically allocated, the
member function is required to
create a
UGA_DEVICE
object to enable the enumerate all the child
UGA_DEVICE
(s).
The device must not be started when its
UGA_DEVICE
Device
is allocated.
Status Codes Returned
EFI_SUCCESS
Device
was returned
EFI_INVALID_PARAMETER
One of the arguments was not valid
EFI_DEVICE_ERROR
The device had an error and could not complete the request.