Table of Contents

Class ReadyToRunDirectory

Namespace
AsmResolver.PE.DotNet.ReadyToRun
Assembly
AsmResolver.PE.dll

Represents a managed native header of a .NET portable executable file that is in the ReadyToRun format.

public class ReadyToRunDirectory : SegmentBase, IManagedNativeHeader, ISegment, IOffsetProvider, IWritable
Inheritance
ReadyToRunDirectory
Implements
Derived
Inherited Members

Properties

Attributes

Gets or sets the flags associated with the ReadyToRun module.

public ReadyToRunAttributes Attributes { get; set; }

Property Value

ReadyToRunAttributes

MajorVersion

Gets the major version of the file format that is used.

public ushort MajorVersion { get; set; }

Property Value

ushort

MinorVersion

Gets the minor version of the file format that is used.

public ushort MinorVersion { get; set; }

Property Value

ushort

Sections

Gets the individual sections referenced by the ReadyToRun directory.

public IList<IReadyToRunSection> Sections { get; }

Property Value

IList<IReadyToRunSection>

Signature

Gets the signature of the native header, indicating the type of metadata that is stored.

public ManagedNativeHeaderSignature Signature { get; }

Property Value

ManagedNativeHeaderSignature

Methods

GetPhysicalSize()

Computes the number of bytes that the structure contains.

public override uint GetPhysicalSize()

Returns

uint

The number of bytes.

GetSection(ReadyToRunSectionType)

Gets a section by its section type.

public IReadyToRunSection GetSection(ReadyToRunSectionType type)

Parameters

type ReadyToRunSectionType

The type of section.

Returns

IReadyToRunSection

The section.

Exceptions

ArgumentException

Occurs when there is no section of the provided type present in the directory.

GetSection<TSection>()

Gets a section by its section type.

public TSection GetSection<TSection>() where TSection : class, IReadyToRunSection

Returns

TSection

The section.

Type Parameters

TSection

The type of section.

Exceptions

ArgumentException

Occurs when there is no section of the provided type present in the directory.

GetSections()

Obtains the sections referenced by the directory.

protected virtual IList<IReadyToRunSection> GetSections()

Returns

IList<IReadyToRunSection>

The sections.

Remarks

This method is called upon initialization of the Sections property.

TryGetSection(ReadyToRunSectionType, out IReadyToRunSection?)

Attempts to get a section by its section type.

public bool TryGetSection(ReadyToRunSectionType type, out IReadyToRunSection? section)

Parameters

type ReadyToRunSectionType

The type of the section.

section IReadyToRunSection

The section, or null if none was found.

Returns

bool

true if the section was found, false otherwise.

TryGetSection<TSection>(out TSection?)

Attempts to get a section by its section type.

public bool TryGetSection<TSection>(out TSection? section) where TSection : class, IReadyToRunSection

Parameters

section TSection

The section, or null if none was found.

Returns

bool

true if the section was found, false otherwise.

Type Parameters

TSection

The type of section.

Write(BinaryStreamWriter)

Serializes the structure to an output stream.

public override void Write(BinaryStreamWriter writer)

Parameters

writer BinaryStreamWriter

The output stream to write the data to.