reconnect. A common test sequence a UEFI Driver developer may use to test the functionality of a new UEFI Driver is:
DisconnectController()in UEFI Driver implementations is less common and is usually restricted to UEFI Drivers managing hot-plug capable busses and unloadable UEFI Drivers.
ConnectController()to connect UEFI Drivers to the hot-added device. Likewise, to facilitate a hot-remove operation on a hot-plug capable bus, use
DisconnectController()to request that UEFI Drivers stop managing the removed device. Just because a bus is capable of supporting hot-plug events does not necessarily mean that the UEFI driver for that bus type must support those hot-plug events. Support for hot-plug events in the pre-boot environment is dependent on the platform requirements for each bus type.
MdeModulePkg/Bus/Usb/UsbBusDxe. The USB bus driver in the EDK II does not create any child handles in its Driver Binding Protocol
Start()function. Instead, it registers a periodic timer event.
ConnectController()is then called to allow USB device drivers to connect to the newly added USB device. If a USB device has been removed,
DisconnectController()is called to stop the USB device drivers from managing the removed USB device.
ConnectController()is used to perform a recursive connect operation in response to a hot-add operation.
DisconnectController()is used to perform a recursive disconnect operation in response to a hot-remove operation.
DisconnectController()service, from unloadable UEFI drivers, to disconnect the UEFI driver from the device(s) it is managing. The
DisconnectController()service is called from the Unload() function that is registered in the Loaded Image Protocol for the UEFI Driver
DisconnectController()for each of the controller handles in that list.