using NvAPIWrapper.Native.GPU; using NvAPIWrapper.Native.GPU.Structures; namespace NvAPIWrapper.GPU { /// /// Holds information regarding a currently active temperature limit policy /// public class GPUThermalLimitPolicy { internal GPUThermalLimitPolicy(PrivateThermalPoliciesStatusV2.ThermalPoliciesStatusEntry thermalPoliciesEntry) { Controller = thermalPoliciesEntry.Controller; PerformanceStateId = thermalPoliciesEntry.PerformanceStateId; TargetTemperature = thermalPoliciesEntry.TargetTemperature; } /// /// Gets the policy's thermal controller /// public ThermalController Controller { get; } /// /// Gets the corresponding performance state identification /// public PerformanceStateId PerformanceStateId { get; } /// /// Gets the current policy target temperature in degree Celsius /// public int TargetTemperature { get; } /// public override string ToString() { return $"{PerformanceStateId} [{Controller}] Target: {TargetTemperature}°C"; } } }