Extensible Firmware Interface Specification
9-20 12/01/02 Version 1.10
Status = DriverBinding->Stop (
DriverBinding,
ControllerHandle,
1,
&ChildHandle
);
Status = DriverBinding->Stop (
DriverBinding,
ControllerHandle,
0,
NULL
);
Pseudo Code
Device Driver:
1. Uninstall all the protocols that were installed onto ControllerHandle in Start()
.
2. Close all the protocols that were opened on behalf of ControllerHandle in Start().
3. Free all the structures that were allocated on behalf of ControllerHandle in Start().
4. Return EFI_SUCCESS.
Bus Driver that creates all of its child handles on the first call to Start():
Bus Driver that is able to create all or one of its child handles on each call to Start():
1. IF NumberOfChildren is zero THEN:
a. Uninstall all the protocols that were installed onto ControllerHandle in Start().
b. Close all the protocols that were opened on behalf of ControllerHandle in Start().
c. Free all the structures that were allocated on behalf of ControllerHandle in
Start().
2. ELSE
a. FOR each child C in ChildHandleBuffer
Uninstall all the protocols that were installed onto C in Start().
Close all the protocols that were opened on behalf of C in Start().
Free all the structures that were allocated on behalf of C in Start().
b. END FOR
3. END IF
4. Return EFI_SUCCESS.