using System.Runtime.InteropServices; using NvAPIWrapper.Native.Attributes; using NvAPIWrapper.Native.General.Structures; using NvAPIWrapper.Native.Interfaces; namespace NvAPIWrapper.Native.GPU.Structures { /// /// Contains information regarding the ECC Memory errors /// [StructLayout(LayoutKind.Sequential, Pack = 8)] [StructureVersion(1)] public struct ECCErrorInfoV1 : IInitializable { internal StructureVersion _Version; internal ECCErrorInfo _CurrentErrors; internal ECCErrorInfo _AggregatedErrors; /// /// Gets the number of current errors /// public ECCErrorInfo CurrentErrors { get => _CurrentErrors; } /// /// Gets the number of aggregated errors /// public ECCErrorInfo AggregatedErrors { get => _AggregatedErrors; } /// /// Contains ECC memory error counters information /// [StructLayout(LayoutKind.Sequential, Pack = 8)] public struct ECCErrorInfo { internal ulong _SingleBitErrors; internal ulong _DoubleBitErrors; /// /// Gets the number of single bit errors /// public ulong SingleBitErrors { get => _SingleBitErrors; } /// /// Gets the number of double bit errors /// public ulong DoubleBitErrors { get => _DoubleBitErrors; } } } }