File: Contracts\ISyncBlock.cs
Web Access
Project: src\src\runtime\src\native\managed\cdac\Microsoft.Diagnostics.DataContractReader.Abstractions\Microsoft.Diagnostics.DataContractReader.Abstractions.csproj (Microsoft.Diagnostics.DataContractReader.Abstractions)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System;

namespace Microsoft.Diagnostics.DataContractReader.Contracts;
public interface ISyncBlock : IContract
{
    static string IContract.Name { get; } = nameof(SyncBlock);
    TargetPointer GetSyncBlock(uint index) => throw new NotImplementedException();
    TargetPointer GetSyncBlockObject(uint index) => throw new NotImplementedException();
    bool IsSyncBlockFree(uint index) => throw new NotImplementedException();
    uint GetSyncBlockCount() => throw new NotImplementedException();
    bool TryGetLockInfo(TargetPointer syncBlock, out uint owningThreadId, out uint recursion) => throw new NotImplementedException();
    uint GetAdditionalThreadCount(TargetPointer syncBlock) => throw new NotImplementedException();
    TargetPointer GetSyncBlockFromCleanupList() => throw new NotImplementedException();
    TargetPointer GetNextSyncBlock(TargetPointer syncBlock) => throw new NotImplementedException();
    bool GetBuiltInComData(TargetPointer syncBlock, out TargetPointer rcw, out TargetPointer ccw, out TargetPointer ccf) => throw new NotImplementedException();
}

public readonly struct SyncBlock : ISyncBlock
{
    // Everything throws NotImplementedException
}