Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
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 The EFI_UGA_IO_PROTOCOL 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
DispatchService()
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 CreateDevice()
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.