beautypg.com

Intel Extensible Firmware Interface User Manual

Page 262

background image

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.