5.2 Services that UEFI drivers rarely use
Table 19 lists UEFI services rarely used by UEFI drivers. The following sub-topics briefly describe each service, why they are rarely used, or the particular circumstance in which they are useful. The code examples show how the services are typically used by UEFI drivers and are grouped by Service Type.
Table 19-UEFI services that are rarely used by UEFI drivers
Service | Type | Service Type | Notes |
---|---|---|---|
ConnectController() | Boot | Protocol Handler | Uses a set of precedence rules to find the best set of drivers to manage a controller. |
DisconnectController() | Boot | Protocol Handler | Informs a set of drivers to stop managing a controller. |
ReinstallProtocolInterface() | Boot | Protocol Handler | Reinstalls a protocol interface on a device handle. |
LocateDevicePath() | Boot | Protocol Handler | Locates a device handle supporting a specific protocol and having the closest matching device path. UEFI drivers should use the services on the ControllerHandle passed into the Supported() and Start() functions of the driver's EFI_DRIVER_BINDING_PROTOCOL . |
LoadImage() | Boot | Image | Used only by bus drivers that can load, start, and potentially unload UEFI drivers stored in other images in some other location on the child devices of the bus. |
StartImage() | Boot | Image | Used only by bus drivers that can load, start, and potentially unload UEFI drivers stored in other images in some other location on the child devices of the bus. |
GetVariable() | Runtime | Variable | Returns the value of a variable. |
SetVariable() | Runtime | Variable | Sets the value of a variable. |
QueryVariableInfo() | Runtime | Variable | Returns information about the EFI variables. |
GetTime() | Runtime | Time-related | Returns the current time and date, and the time-keeping capabilities of the platform. |
CalculateCrc32() | Boot | Miscellaneous | Maintains the checksum of the UEFI System Table, UEFI boot services table, and UEFI runtime services table. |
ConvertPointer() | Runtime | Miscellaneous | Sometimes used by UEFI runtime drivers. This service should never be used by UEFI boot service drivers. |
InstallConfigurationTable() | Boot | Miscellaneous | Adds, updates, or removes a configuration table from the UEFI system table. |
WaitForEvent() | Boot | Event | Stops execution until an event is signaled. |
GetNextMonotonicCount() | Boot | Special | Provides a 64-bit monotonic counter that is guaranteed to increase. |