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>Inheritance
Section titled “Inheritance”Object → ReadyToRunInfo
Implements
Section titled “Implements”Constructors
Section titled “Constructors”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 (expected0x00525452, “RTR\0”).MajorVersion(Int32): The ReadyToRun major version.MinorVersion(Int32): The ReadyToRun minor version.Flags(UInt32): The rawReadyToRunFlagsbitmask.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)Properties
Section titled “Properties”Architecture
Section titled “Architecture”The image’s real machine architecture.
Returns: NativeArchitecture
public NativeArchitecture Architecture { get; init; }Components
Section titled “Components”The composite component assemblies, empty for a non-composite image.
Returns: IReadOnlyList<ReadyToRunComponent>
public IReadOnlyList<ReadyToRunComponent> Components { get; init; }Diagnostic
Section titled “Diagnostic”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; }HeaderRva
Section titled “HeaderRva”The RVA the header was located at.
Returns: Int32
public int HeaderRva { get; init; }InstanceMethodCount
Section titled “InstanceMethodCount”The number of instantiated-generic entry points.
Returns: Int32
public int InstanceMethodCount { get; init; }IsComponent
Section titled “IsComponent”Whether this image is a composite component (READYTORUN_FLAG_COMPONENT).
Returns: Boolean
public bool IsComponent { get; init; }IsComposite
Section titled “IsComposite”Whether this image is a composite (its native code covers several component assemblies).
Returns: Boolean
public bool IsComposite { get; init; }IsPartialImage
Section titled “IsPartialImage”Whether not every method is precompiled (READYTORUN_FLAG_PARTIAL) — a coverage flag, distinct from Status.
Returns: Boolean
public bool IsPartialImage { get; init; }MajorVersion
Section titled “MajorVersion”The ReadyToRun major version.
Returns: Int32
public int MajorVersion { get; init; }MethodCount
Section titled “MethodCount”The number of MethodDef entry points.
Returns: Int32
public int MethodCount { get; init; }MinorVersion
Section titled “MinorVersion”The ReadyToRun minor version.
Returns: Int32
public int MinorVersion { get; init; }OwnerCompositeExecutable
Section titled “OwnerCompositeExecutable”For a component image, the filename of the composite that holds its native code, otherwise null.
Returns: String
public string? OwnerCompositeExecutable { get; init; }SectionCount
Section titled “SectionCount”The number of rows in the section table.
Returns: Int32
public int SectionCount { get; init; }Sections
Section titled “Sections”The section table rows.
Returns: IReadOnlyList<ReadyToRunSectionEntry>
public IReadOnlyList<ReadyToRunSectionEntry> Sections { get; init; }Signature
Section titled “Signature”The header signature dword (expected 0x00525452, “RTR\0”).
Returns: UInt32
public uint Signature { get; init; }Status
Section titled “Status”The parse status.
Returns: ReadyToRunStatus
public ReadyToRunStatus Status { get; init; }