Services
Version 1.02 12/12/00 59
3.3.2 UninstallProtocolInterface()
Summary
Removes a protocol interface from a device handle.
Prototype
EFI_STATUS
UninstallProtocolInterface (
IN EFI_HANDLE Handle,
IN EFI_GUID *Protocol,
IN VOID *Interface
);
Parameters
Handle The handle on which the interface was installed. Type EFI_HANDLE is
defined in Section 3.3.1. If Handle is not a valid handle, then
EFI_INVALID_PARAMETER is returned.
Protocol The numeric ID of the interface. Type EFI_GUID is defined in
Section 3.3.1. It is the callers responsibility to pass in a valid GUID.
See Wired For Management Baseline for a description of valid GUID
values.
Interface A pointer to the interface. NULL can be used if a structure is not
associated with Protocol.
Description
The UninstallProtocolInterface() function removes a protocol interface from the
handle on which it was previously installed. The Protocol and Interface values define the
protocol interface to remove from the handle.
The caller is responsible for ensuring that there are no references to a protocol interface that has
been removed. In some cases, outstanding reference information is not available in the protocol, so
the protocol, once added, cannot be removed. Examples include Console I/O, Block I/O, Disk I/O,
and (in general) handles to device protocols.
If the last protocol interface is removed from a handle, the handle is freed and is no longer valid.
Status Codes Returned
EFI_SUCCESS The interface was removed.
EFI_NOT_FOUND The interface was not found.
EFI_INVALID_PARAMETER One of the parameters has an invalid value.