File: _generated\135\Microsoft_Diagnostics_DataContractReader_Data.RCW.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;
using Microsoft.Diagnostics.DataContractReader.Generated;

namespace Microsoft.Diagnostics.DataContractReader.Data;

/// <summary>Wraps the <c>RCW</c> type.</summary>
partial class RCW
{
    private static readonly string[] _typeNames = new[] { "RCW" };

    public TargetPointer Address { get; }

    partial void OnInit(Target target, TargetPointer address);

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

        LayoutSet layouts = LayoutSet.Resolve(target, _typeNames);

        {
            layouts.Select(address, out var t, out var b, out var n, "NextCleanupBucket");
            NextCleanupBucket = target.ReadPointerField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "NextRCW");
            NextRCW = target.ReadPointerField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "Flags");
            Flags = target.ReadField<uint>(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "CtxCookie");
            CtxCookie = target.ReadPointerField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "CtxEntry");
            CtxEntry = target.ReadPointerField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "IdentityPointer");
            IdentityPointer = target.ReadPointerField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "SyncBlockIndex");
            SyncBlockIndex = target.ReadField<uint>(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "VTablePtr");
            VTablePtr = target.ReadPointerField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "CreatorThread");
            CreatorThread = target.ReadPointerField(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "RefCount");
            RefCount = target.ReadField<uint>(b, t, n);
        }
        {
            layouts.Select(address, out var t, out var b, out var n, "UnknownPointer");
            UnknownPointer = target.ReadPointerField(b, t, n);
        }

        OnInit(target, address);
    }

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

}