Enum uefi::table::boot::OpenProtocolAttributes
source · #[repr(u32)]pub enum OpenProtocolAttributes {
GetProtocol = 2,
ByChildController = 8,
ByDriver = 16,
ByDriverExclusive = 48,
Exclusive = 32,
}
Expand description
Attributes for BootServices::open_protocol
.
Variants§
GetProtocol = 2
Used by drivers to get a protocol interface for a handle. The driver will not be informed if the interface is uninstalled or reinstalled.
ByChildController = 8
Used by bus drivers to show that a protocol is being used by one of the child controllers of the bus.
ByDriver = 16
Used by a driver to gain access to a protocol interface. When
this mode is used, the driver’s Stop
function will be called
if the protocol interface is reinstalled or uninstalled. Once a
protocol interface is opened with this attribute, no other
drivers will be allowed to open the same protocol interface with
the ByDriver
attribute.
ByDriverExclusive = 48
Used by a driver to gain exclusive access to a protocol
interface. If any other drivers have the protocol interface
opened with an attribute of ByDriver
, then an attempt will be
made to remove them with DisconnectController
.
Exclusive = 32
Used by applications to gain exclusive access to a protocol
interface. If any drivers have the protocol opened with an
attribute of ByDriver
, then an attempt will be made to remove
them by calling the driver’s Stop
function.