pub struct MinidumpType(/* private fields */);
Expand description

Implementations§

source§

impl MinidumpType

source

pub const Normal: Self = _

Include just the information necessary to capture stack traces for all existing threads in a process.

source

pub const WithDataSegs: Self = _

Include the data sections from all loaded modules.

This results in the inclusion of global variables, which can make the minidump file significantly larger.

source

pub const WithFullMemory: Self = _

Include all accessible memory in the process.

The raw memory data is included at the end, so that the initial structures can be mapped directly without the raw memory information. This option can result in a very large file.

source

pub const WithHandleData: Self = _

Include high-level information about the operating system handles that are active when the minidump is made.

source

pub const FilterMemory: Self = _

Stack and backing store memory written to the minidump file should be filtered to remove all but the pointer values necessary to reconstruct a stack trace.

source

pub const ScanMemory: Self = _

Stack and backing store memory should be scanned for pointer references to modules in the module list.

If a module is referenced by stack or backing store memory, the [MINIDUMP_CALLBACK_OUTPUT_0::ModuleWriteFlags] field is set to [ModuleWriteFlags::ModuleReferencedByMemory].

source

pub const WithUnloadedModules: Self = _

Include information from the list of modules that were recently unloaded, if this information is maintained by the operating system.

source

pub const WithIndirectlyReferencedMemory: Self = _

Include pages with data referenced by locals or other stack memory. This option can increase the size of the minidump file significantly.

source

pub const FilterModulePaths: Self = _

Filter module paths for information such as user names or important directories.

This option may prevent the system from locating the image file and should be used only in special situations.

source

pub const WithProcessThreadData: Self = _

Include complete per-process and per-thread information from the operating system.

source

pub const WithPrivateReadWriteMemory: Self = _

Scan the virtual address space for PAGE_READWRITE memory to be included.

source

pub const WithoutOptionalData: Self = _

Reduce the data that is dumped by eliminating memory regions that are not essential to meet criteria specified for the dump.

This can avoid dumping memory that may contain data that is private to the user. However, it is not a guarantee that no private information will be present.

source

pub const WithFullMemoryInfo: Self = _

Include memory region information.

See MINIDUMP_MEMORY_INFO_LIST

source

pub const WithThreadInfo: Self = _

Include thread state information.

See MINIDUMP_THREAD_INFO_LIST

source

pub const WithCodeSegs: Self = _

Include all code and code-related sections from loaded modules to capture executable content.

For per-module control, use the [ModuleWriteFlags::ModuleWriteCodeSegs]

source

pub const WithoutAuxiliaryState: Self = _

Turns off secondary auxiliary-supported memory gathering.

source

pub const WithFullAuxiliaryState: Self = _

Requests that auxiliary data providers include their state in the dump image; the state data that is included is provider dependent.

This option can result in a large dump image.

source

pub const WithPrivateWriteCopyMemory: Self = _

Scans the virtual address space for PAGE_WRITECOPY memory to be included.

source

pub const IgnoreInaccessibleMemory: Self = _

If you specify [MinidumpType::MiniDumpWithFullMemory], the MiniDumpWriteDump function will fail if the function cannot read the memory regions; however, if you include [IgnoreInaccessibleMemory], the MiniDumpWriteDump function will ignore the memory read failures and continue to generate the dump.

Note that the inaccessible memory regions are not included in the dump.

source

pub const WithTokenInformation: Self = _

Adds security token related data.

This will make the “!token” extension work when processing a user-mode dump.

source

pub const WithModuleHeaders: Self = _

Adds module header related data.

source

pub const FilterTriage: Self = _

Adds filter triage related data.

source

pub const WithAvxXStateContext: Self = _

Adds AVX crash state context registers.

source

pub const WithIptTrace: Self = _

Adds Intel Processor Trace related data.

source

pub const ScanInaccessiblePartialPages: Self = _

Scans inaccessible partial memory pages.

source

pub const FilterWriteCombinedMemory: Self = _

Exclude all memory with the virtual protection attribute of PAGE_WRITECOMBINE.

source§

impl MinidumpType

source

pub const fn empty() -> Self

Get a flags value with all bits unset.

source

pub const fn all() -> Self

Get a flags value with all known bits set.

source

pub const fn bits(&self) -> u32

Get the underlying bits value.

The returned value is exactly the bits set in this flags value.

source

pub const fn from_bits(bits: u32) -> Option<Self>

Convert from a bits value.

This method will return None if any unknown bits are set.

source

pub const fn from_bits_truncate(bits: u32) -> Self

Convert from a bits value, unsetting any unknown bits.

source

pub const fn from_bits_retain(bits: u32) -> Self

Convert from a bits value exactly.

source

pub fn from_name(name: &str) -> Option<Self>

Get a flags value with the bits of a flag with the given name set.

This method will return None if name is empty or doesn’t correspond to any named flag.

source

pub const fn is_empty(&self) -> bool

Whether all bits in this flags value are unset.

source

pub const fn is_all(&self) -> bool

Whether all known bits in this flags value are set.

source

pub const fn intersects(&self, other: Self) -> bool

Whether any set bits in a source flags value are also set in a target flags value.

source

pub const fn contains(&self, other: Self) -> bool

Whether all set bits in a source flags value are also set in a target flags value.

source

pub fn insert(&mut self, other: Self)

The bitwise or (|) of the bits in two flags values.

source

pub fn remove(&mut self, other: Self)

The intersection of a source flags value with the complement of a target flags value (&!).

This method is not equivalent to self & !other when other has unknown bits set. remove won’t truncate other, but the ! operator will.

source

pub fn toggle(&mut self, other: Self)

The bitwise exclusive-or (^) of the bits in two flags values.

source

pub fn set(&mut self, other: Self, value: bool)

Call insert when value is true or remove when value is false.

source

pub const fn intersection(self, other: Self) -> Self

The bitwise and (&) of the bits in two flags values.

source

pub const fn union(self, other: Self) -> Self

The bitwise or (|) of the bits in two flags values.

source

pub const fn difference(self, other: Self) -> Self

The intersection of a source flags value with the complement of a target flags value (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won’t truncate other, but the ! operator will.

source

pub const fn symmetric_difference(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in two flags values.

source

pub const fn complement(self) -> Self

The bitwise negation (!) of the bits in a flags value, truncating the result.

source§

impl MinidumpType

source

pub const fn iter(&self) -> Iter<MinidumpType>

Yield a set of contained flags values.

Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.

source

pub const fn iter_names(&self) -> IterNames<MinidumpType>

Yield a set of contained named flags values.

This method is like iter, except only yields bits in contained named flags. Any unknown bits, or bits not corresponding to a contained flag will not be yielded.

Trait Implementations§

source§

impl Binary for MinidumpType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl BitAnd for MinidumpType

source§

fn bitand(self, other: Self) -> Self

The bitwise and (&) of the bits in two flags values.

§

type Output = MinidumpType

The resulting type after applying the & operator.
source§

impl BitAndAssign for MinidumpType

source§

fn bitand_assign(&mut self, other: Self)

The bitwise and (&) of the bits in two flags values.

source§

impl BitOr for MinidumpType

source§

fn bitor(self, other: MinidumpType) -> Self

The bitwise or (|) of the bits in two flags values.

§

type Output = MinidumpType

The resulting type after applying the | operator.
source§

impl BitOrAssign for MinidumpType

source§

fn bitor_assign(&mut self, other: Self)

The bitwise or (|) of the bits in two flags values.

source§

impl BitXor for MinidumpType

source§

fn bitxor(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in two flags values.

§

type Output = MinidumpType

The resulting type after applying the ^ operator.
source§

impl BitXorAssign for MinidumpType

source§

fn bitxor_assign(&mut self, other: Self)

The bitwise exclusive-or (^) of the bits in two flags values.

source§

impl Clone for MinidumpType

source§

fn clone(&self) -> MinidumpType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for MinidumpType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Extend<MinidumpType> for MinidumpType

source§

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

The bitwise or (|) of the bits in each flags value.

source§

fn extend_one(&mut self, item: A)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
source§

impl Flags for MinidumpType

source§

const FLAGS: &'static [Flag<MinidumpType>] = _

The set of defined flags.
§

type Bits = u32

The underlying bits type.
source§

fn bits(&self) -> u32

Get the underlying bits value. Read more
source§

fn from_bits_retain(bits: u32) -> MinidumpType

Convert from a bits value exactly.
source§

fn empty() -> Self

Get a flags value with all bits unset.
source§

fn all() -> Self

Get a flags value with all known bits set.
source§

fn from_bits(bits: Self::Bits) -> Option<Self>

Convert from a bits value. Read more
source§

fn from_bits_truncate(bits: Self::Bits) -> Self

Convert from a bits value, unsetting any unknown bits.
source§

fn from_name(name: &str) -> Option<Self>

Get a flags value with the bits of a flag with the given name set. Read more
source§

fn iter(&self) -> Iter<Self>

Yield a set of contained flags values. Read more
source§

fn iter_names(&self) -> IterNames<Self>

Yield a set of contained named flags values. Read more
source§

fn is_empty(&self) -> bool

Whether all bits in this flags value are unset.
source§

fn is_all(&self) -> bool

Whether all known bits in this flags value are set.
source§

fn intersects(&self, other: Self) -> bool
where Self: Sized,

Whether any set bits in a source flags value are also set in a target flags value.
source§

fn contains(&self, other: Self) -> bool
where Self: Sized,

Whether all set bits in a source flags value are also set in a target flags value.
source§

fn insert(&mut self, other: Self)
where Self: Sized,

The bitwise or (|) of the bits in two flags values.
source§

fn remove(&mut self, other: Self)
where Self: Sized,

The intersection of a source flags value with the complement of a target flags value (&!). Read more
source§

fn toggle(&mut self, other: Self)
where Self: Sized,

The bitwise exclusive-or (^) of the bits in two flags values.
source§

fn set(&mut self, other: Self, value: bool)
where Self: Sized,

Call Flags::insert when value is true or Flags::remove when value is false.
source§

fn intersection(self, other: Self) -> Self

The bitwise and (&) of the bits in two flags values.
source§

fn union(self, other: Self) -> Self

The bitwise or (|) of the bits in two flags values.
source§

fn difference(self, other: Self) -> Self

The intersection of a source flags value with the complement of a target flags value (&!). Read more
source§

fn symmetric_difference(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in two flags values.
source§

fn complement(self) -> Self

The bitwise negation (!) of the bits in a flags value, truncating the result.
source§

impl FromIterator<MinidumpType> for MinidumpType

source§

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

The bitwise or (|) of the bits in each flags value.

source§

impl IntoIterator for MinidumpType

§

type Item = MinidumpType

The type of the elements being iterated over.
§

type IntoIter = Iter<MinidumpType>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl LowerHex for MinidumpType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Not for MinidumpType

source§

fn not(self) -> Self

The bitwise negation (!) of the bits in a flags value, truncating the result.

§

type Output = MinidumpType

The resulting type after applying the ! operator.
source§

impl Octal for MinidumpType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl PublicFlags for MinidumpType

§

type Primitive = u32

The type of the underlying storage.
§

type Internal = InternalBitFlags

The type of the internal field on the generated flags type.
source§

impl Sub for MinidumpType

source§

fn sub(self, other: Self) -> Self

The intersection of a source flags value with the complement of a target flags value (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won’t truncate other, but the ! operator will.

§

type Output = MinidumpType

The resulting type after applying the - operator.
source§

impl SubAssign for MinidumpType

source§

fn sub_assign(&mut self, other: Self)

The intersection of a source flags value with the complement of a target flags value (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won’t truncate other, but the ! operator will.

source§

impl UpperHex for MinidumpType

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter.
source§

impl Copy for MinidumpType

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.