Trait object::read::pe::ImageNtHeaders[][src]

pub trait ImageNtHeaders: Debug + Pod {
    type ImageOptionalHeader: ImageOptionalHeader;
    fn is_type_64(&self) -> bool;
fn is_valid_optional_magic(&self) -> bool;
fn signature(&self) -> u32;
fn file_header(&self) -> &ImageFileHeader;
fn optional_header(&self) -> &Self::ImageOptionalHeader; fn parse<'data, R: ReadRef<'data>>(
        data: R,
        offset: &mut u64
    ) -> Result<(&'data Self, &'data [ImageDataDirectory])> { ... }
fn sections<'data, R: ReadRef<'data>>(
        &self,
        data: R,
        offset: u64
    ) -> Result<SectionTable<'data>> { ... }
fn symbols<'data, R: ReadRef<'data>>(
        &self,
        data: R
    ) -> Result<SymbolTable<'data>> { ... } }

A trait for generic access to ImageNtHeaders32 and ImageNtHeaders64.

Associated Types

type ImageOptionalHeader: ImageOptionalHeader[src]

Loading content...

Required methods

fn is_type_64(&self) -> bool[src]

Return true if this type is a 64-bit header.

This is a property of the type, not a value in the header data.

fn is_valid_optional_magic(&self) -> bool[src]

Return true if the magic field in the optional header is valid.

fn signature(&self) -> u32[src]

Return the signature

fn file_header(&self) -> &ImageFileHeader[src]

Return the file header.

fn optional_header(&self) -> &Self::ImageOptionalHeader[src]

Return the optional header.

Loading content...

Provided methods

fn parse<'data, R: ReadRef<'data>>(
    data: R,
    offset: &mut u64
) -> Result<(&'data Self, &'data [ImageDataDirectory])>
[src]

Read the NT headers, including the data directories.

data must be for the entire file.

offset must be headers offset, which can be obtained from ImageDosHeader::nt_headers_offset. It is updated to point after the optional header, which is where the section headers are located.

Also checks that the signature and magic fields in the headers are valid.

fn sections<'data, R: ReadRef<'data>>(
    &self,
    data: R,
    offset: u64
) -> Result<SectionTable<'data>>
[src]

Read the section table.

data must be for the entire file. offset must be after the optional file header.

fn symbols<'data, R: ReadRef<'data>>(
    &self,
    data: R
) -> Result<SymbolTable<'data>>
[src]

Read the symbol table and string table.

data must be the entire file data.

Loading content...

Implementors

impl ImageNtHeaders for ImageNtHeaders32[src]

impl ImageNtHeaders for ImageNtHeaders64[src]

Loading content...