File: _generated\99\Microsoft_Diagnostics_DataContractReader_Data.ImageNTHeaders.g.cs
Web Access
Project: src\runtime\src\native\managed\cdac\Microsoft.Diagnostics.DataContractReader.Contracts\Microsoft.Diagnostics.DataContractReader.Contracts.csproj (Microsoft.Diagnostics.DataContractReader.Contracts)
// <auto-generated/>
#nullable enable

using Microsoft.Diagnostics.DataContractReader;
using Microsoft.Diagnostics.DataContractReader.Contracts;

namespace Microsoft.Diagnostics.DataContractReader.Data;

/// <summary>Generated IData implementation.</summary>
partial class ImageNTHeaders : global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData
{
    public static int GetFileHeaderOffset(Target target)
        => 4;

    public static int GetOptionalHeaderOffset(Target target)
        => 24;

    public TargetPointer Address { get; }

    private readonly Target _target;

    partial void OnInit(Target target, TargetPointer address);

    public ImageNTHeaders(Target target, TargetPointer address)
    {
        Address = address;
        _target = target;

        OnInit(target, address);
    }

    static ImageNTHeaders IData<ImageNTHeaders>.Create(Target target, TargetPointer address)
        => new ImageNTHeaders(target, address);

    private Data.ImageFileHeader _FileHeader__value = default!;
    private bool _FileHeader__read;
    public partial Data.ImageFileHeader FileHeader
    {
        get
        {
            if (!_FileHeader__read)
            {
                _FileHeader__value = _target.ProcessedData.GetOrAdd<Data.ImageFileHeader>(Address + 4);
                _FileHeader__read = true;
            }
            return _FileHeader__value;
        }
    }

    private Data.ImageOptionalHeader _OptionalHeader__value = default!;
    private bool _OptionalHeader__read;
    public partial Data.ImageOptionalHeader OptionalHeader
    {
        get
        {
            if (!_OptionalHeader__read)
            {
                _OptionalHeader__value = _target.ProcessedData.GetOrAdd<Data.ImageOptionalHeader>(Address + 24);
                _OptionalHeader__read = true;
            }
            return _OptionalHeader__value;
        }
    }

    void global::Microsoft.Diagnostics.DataContractReader.Data.IReadableData.EnsureAllFieldsRead()
    {
        _ = FileHeader;
        _ = OptionalHeader;
    }

}