Skip to content

ReadyToRunInfo

Namespace: Dotsider.Core.Analysis.Models

Assembly: Dotsider.Core.dll

The parsed facts about a PE image’s crossgen2 ReadyToRun header. Present whenever an image claims to be ReadyToRun (a managed native header directory or an RTR_HEADER export); Status says whether it is usable, so a corrupt or unsupported image surfaces its diagnostic rather than masquerading as plain managed.

public sealed record ReadyToRunInfo : IEquatable<ReadyToRunInfo>

ObjectReadyToRunInfo

ReadyToRunInfo(uint, int, int, uint, bool, bool, bool, int, int, ReadyToRunStatus, string?, NativeArchitecture, string?, IReadOnlyList<ReadyToRunSectionEntry>, IReadOnlyList<ReadyToRunComponent>, int, int)

Section titled “ReadyToRunInfo(uint, int, int, uint, bool, bool, bool, int, int, ReadyToRunStatus, string?, NativeArchitecture, string?, IReadOnlyList<ReadyToRunSectionEntry>, IReadOnlyList<ReadyToRunComponent>, int, int)”

The parsed facts about a PE image’s crossgen2 ReadyToRun header. Present whenever an image claims to be ReadyToRun (a managed native header directory or an RTR_HEADER export); Status says whether it is usable, so a corrupt or unsupported image surfaces its diagnostic rather than masquerading as plain managed.

Parameters:

  • Signature (UInt32): The header signature dword (expected 0x00525452, “RTR\0”).
  • MajorVersion (Int32): The ReadyToRun major version.
  • MinorVersion (Int32): The ReadyToRun minor version.
  • Flags (UInt32): The raw ReadyToRunFlags bitmask.
  • IsComposite (Boolean): Whether this image is a composite (its native code covers several component assemblies).
  • IsComponent (Boolean): Whether this image is a composite component (READYTORUN_FLAG_COMPONENT).
  • IsPartialImage (Boolean): Whether not every method is precompiled (READYTORUN_FLAG_PARTIAL) — a coverage flag, distinct from Status.
  • HeaderRva (Int32): The RVA the header was located at.
  • SectionCount (Int32): The number of rows in the section table.
  • Status (ReadyToRunStatus): The parse status.
  • Diagnostic (String): A human-readable explanation when the status is not Valid, otherwise null.
  • Architecture (NativeArchitecture): The image’s real machine architecture.
  • OwnerCompositeExecutable (String): For a component image, the filename of the composite that holds its native code, otherwise null.
  • Sections (IReadOnlyList<ReadyToRunSectionEntry>): The section table rows.
  • Components (IReadOnlyList<ReadyToRunComponent>): The composite component assemblies, empty for a non-composite image.
  • MethodCount (Int32): The number of MethodDef entry points.
  • InstanceMethodCount (Int32): The number of instantiated-generic entry points.
public ReadyToRunInfo(uint Signature, int MajorVersion, int MinorVersion, uint Flags, bool IsComposite, bool IsComponent, bool IsPartialImage, int HeaderRva, int SectionCount, ReadyToRunStatus Status, string? Diagnostic, NativeArchitecture Architecture, string? OwnerCompositeExecutable, IReadOnlyList<ReadyToRunSectionEntry> Sections, IReadOnlyList<ReadyToRunComponent> Components, int MethodCount, int InstanceMethodCount)

The image’s real machine architecture.

Returns: NativeArchitecture

public NativeArchitecture Architecture { get; init; }

The composite component assemblies, empty for a non-composite image.

Returns: IReadOnlyList<ReadyToRunComponent>

public IReadOnlyList<ReadyToRunComponent> Components { get; init; }

A human-readable explanation when the status is not Valid, otherwise null.

Returns: String

public string? Diagnostic { get; init; }

The raw ReadyToRunFlags bitmask.

Returns: UInt32

public uint Flags { get; init; }

The RVA the header was located at.

Returns: Int32

public int HeaderRva { get; init; }

The number of instantiated-generic entry points.

Returns: Int32

public int InstanceMethodCount { get; init; }

Whether this image is a composite component (READYTORUN_FLAG_COMPONENT).

Returns: Boolean

public bool IsComponent { get; init; }

Whether this image is a composite (its native code covers several component assemblies).

Returns: Boolean

public bool IsComposite { get; init; }

Whether not every method is precompiled (READYTORUN_FLAG_PARTIAL) — a coverage flag, distinct from Status.

Returns: Boolean

public bool IsPartialImage { get; init; }

The ReadyToRun major version.

Returns: Int32

public int MajorVersion { get; init; }

The number of MethodDef entry points.

Returns: Int32

public int MethodCount { get; init; }

The ReadyToRun minor version.

Returns: Int32

public int MinorVersion { get; init; }

For a component image, the filename of the composite that holds its native code, otherwise null.

Returns: String

public string? OwnerCompositeExecutable { get; init; }

The number of rows in the section table.

Returns: Int32

public int SectionCount { get; init; }

The section table rows.

Returns: IReadOnlyList<ReadyToRunSectionEntry>

public IReadOnlyList<ReadyToRunSectionEntry> Sections { get; init; }

The header signature dword (expected 0x00525452, “RTR\0”).

Returns: UInt32

public uint Signature { get; init; }

The parse status.

Returns: ReadyToRunStatus

public ReadyToRunStatus Status { get; init; }