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