pub struct CONTEXT_AMD64 {
Show 46 fields pub p1_home: u64, pub p2_home: u64, pub p3_home: u64, pub p4_home: u64, pub p5_home: u64, pub p6_home: u64, pub context_flags: u32, pub mx_csr: u32, pub cs: u16, pub ds: u16, pub es: u16, pub fs: u16, pub gs: u16, pub ss: u16, pub eflags: u32, pub dr0: u64, pub dr1: u64, pub dr2: u64, pub dr3: u64, pub dr6: u64, pub dr7: u64, pub rax: u64, pub rcx: u64, pub rdx: u64, pub rbx: u64, pub rsp: u64, pub rbp: u64, pub rsi: u64, pub rdi: u64, pub r8: u64, pub r9: u64, pub r10: u64, pub r11: u64, pub r12: u64, pub r13: u64, pub r14: u64, pub r15: u64, pub rip: u64, pub float_save: [u8; 512], pub vector_register: [u128; 26], pub vector_control: u64, pub debug_control: u64, pub last_branch_to_rip: u64, pub last_branch_from_rip: u64, pub last_exception_to_rip: u64, pub last_exception_from_rip: u64,
}
Expand description

An x86-64 (amd64) CPU context

This struct matches the definition of CONTEXT in WinNT.h for x86-64.

Fields

p1_home: u64p2_home: u64p3_home: u64p4_home: u64p5_home: u64p6_home: u64context_flags: u32mx_csr: u32cs: u16ds: u16es: u16fs: u16gs: u16ss: u16eflags: u32dr0: u64dr1: u64dr2: u64dr3: u64dr6: u64dr7: u64rax: u64rcx: u64rdx: u64rbx: u64rsp: u64rbp: u64rsi: u64rdi: u64r8: u64r9: u64r10: u64r11: u64r12: u64r13: u64r14: u64r15: u64rip: u64float_save: [u8; 512]

Floating point state

This is defined as a union in the C headers, but also MAXIMUM_SUPPORTED_EXTENSION is defined as 512 bytes.

Callers that want to access the underlying data can use Pread to read either an XMM_SAVE_AREA32 or SSE_REGISTERS struct from this raw data as appropriate.

vector_register: [u128; 26]vector_control: u64debug_control: u64last_branch_to_rip: u64last_branch_from_rip: u64last_exception_to_rip: u64last_exception_from_rip: u64

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

The word size of general-purpose registers in the context.

General purpose registers in this context type.

Get a register value regardless of whether it is valid.

Set a register value, if that register name it exists. Read more

Gets the name of the stack pointer register (for use with get_register/set_register).

Gets the name of the instruction pointer register (for use with get_register/set_register).

Gets whether the given register is valid Read more

Get a register value if it is valid. Read more

Gets a static version of the given register name, if possible. Read more

Return a String containing the value of reg formatted to its natural width.

An iterator over all registers in this context. Read more

An iterator over valid registers in this context. Read more

Formats the value using the given formatter. Read more

Return CONTEXT_AMD64 { p1_home: Default::default(), p2_home: Default::default(), p3_home: Default::default(), p4_home: Default::default(), p5_home: Default::default(), p6_home: Default::default(), context_flags: Default::default(), mx_csr: Default::default(), cs: Default::default(), ds: Default::default(), es: Default::default(), fs: Default::default(), gs: Default::default(), ss: Default::default(), eflags: Default::default(), dr0: Default::default(), dr1: Default::default(), dr2: Default::default(), dr3: Default::default(), dr6: Default::default(), dr7: Default::default(), rax: Default::default(), rcx: Default::default(), rdx: Default::default(), rbx: Default::default(), rsp: Default::default(), rbp: Default::default(), rsi: Default::default(), rdi: Default::default(), r8: Default::default(), r9: Default::default(), r10: Default::default(), r11: Default::default(), r12: Default::default(), r13: Default::default(), r14: Default::default(), r15: Default::default(), rip: Default::default(), float_save: [0 ; 512], vector_register: [0 ; 26], vector_control: Default::default(), debug_control: Default::default(), last_branch_to_rip: Default::default(), last_branch_from_rip: Default::default(), last_exception_to_rip: Default::default(), last_exception_from_rip: Default::default() }

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.