|
// <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);
}
|