#[non_exhaustive]pub enum PciInfoError {
Show 13 variants
NoDefaultPciEnumeratorForPlatform,
EnumerationInterrupted(PciInfoErrorString),
ParseError(PciInfoErrorString),
IoError(Box<ErrorKind>),
UnexpectedEof,
ValueNotFound(Option<PciInfoErrorString>),
InconsistentValue(Box<[String]>),
WMIError(PciInfoErrorString),
Win32Error(Error),
IoKitError(i32),
BdfLocationOutOfRange(u8, u8, u8),
UnknownPciHeaderType(u8),
DevicesChangedTooManyTimes,
}
Expand description
Error type for errors encountered during device enumeration.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
NoDefaultPciEnumeratorForPlatform
PciInfo::enumerate_pci
or default_pci_enumerator()
have
been called on a platform that does not have a
proper implementation for a default enumerator (yet).
EnumerationInterrupted(PciInfoErrorString)
The enumeration has been interrupted by an otherwise non specified error.
ParseError(PciInfoErrorString)
An error occurred parsing data. For example it may trigger if
an invalid string like “hello” was found where an hexadecimal
number was expected. The PciInfoErrorString
contained in the
variant carries a brief description of what parsing failed.
IoError(Box<ErrorKind>)
An I/O error occurred. For example it may trigger if
a file could not be opened because of permissions.
The std::io::ErrorKind
contained withing provides details
about the error.
UnexpectedEof
The end of a file or other resource was reached, when more data was needed.
ValueNotFound(Option<PciInfoErrorString>)
A value that was expected to be found was, in fact, not found. For example this could happen on a missing property on an object, or a missing column on a tsv file. The argument, optional, provides insight on what value was expected and not found.
InconsistentValue(Box<[String]>)
The enumerator was able to read multiple values for a given property, and those values where not consistent. The slice contained in the error provides the list of conflicting values that have been read.
WMIError(PciInfoErrorString)
A WMI operation failed. The argument, provides a description of the failure.
Win32Error(Error)
A Windows operation failed. The causing
windows::core::Error
is contained within.
IoKitError(i32)
A macOS IOKit operation failed. The return value of the
failed API call is contained within (see Apple documentation
for kern_return_t
).
BdfLocationOutOfRange(u8, u8, u8)
A bus-device-function triplet has components that are out of range. Specifically, while the device should range between 0 and 31 (5 bits), and function should range between 0 and 7 (3 bits). Reported within are the values of the triplet that caused the error.
UnknownPciHeaderType(u8)
Parsing of an unknown PCI specialized header type has been attempted.
DevicesChangedTooManyTimes
The enumeration has been retried because the device list changed and the maximum number of iterations has been exceeded.
Trait Implementations§
Source§impl Clone for PciInfoError
impl Clone for PciInfoError
Source§fn clone(&self) -> PciInfoError
fn clone(&self) -> PciInfoError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more