using System.Runtime.InteropServices; using NvAPIWrapper.Native.Attributes; using NvAPIWrapper.Native.General.Structures; using NvAPIWrapper.Native.Helpers; using NvAPIWrapper.Native.Interfaces; namespace NvAPIWrapper.Native.GPU.Structures { /// /// Contains information regarding the ECC Memory status /// [StructLayout(LayoutKind.Sequential, Pack = 8)] [StructureVersion(1)] public struct ECCStatusInfoV1 : IInitializable { internal StructureVersion _Version; internal uint _IsSupported; internal ECCConfiguration _ConfigurationOptions; internal uint _IsEnabled; /// /// Gets a boolean value indicating if the ECC memory is available and supported /// public bool IsSupported { get => _IsSupported.GetBit(0); } /// /// Gets the ECC memory configurations /// public ECCConfiguration ConfigurationOptions { get => _ConfigurationOptions; } /// /// Gets boolean value indicating if the ECC memory is currently enabled /// public bool IsEnabled { get => _IsEnabled.GetBit(0); } } }