Intel Extensible Firmware Interface User Manual
Page 262

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
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.