using NvAPIWrapper.Native;
using NvAPIWrapper.Native.General.Structures;
using NvAPIWrapper.Native.Interfaces.General;
namespace NvAPIWrapper
{
///
/// .Net friendly version of system and general functions of NVAPI library
///
public static class NVIDIA
{
///
/// Gets information about the system's chipset.
///
public static IChipsetInfo ChipsetInfo
{
get => GeneralApi.GetChipsetInfo();
}
///
/// Gets NVIDIA driver branch version as string
///
public static string DriverBranchVersion
{
get
{
GeneralApi.GetDriverAndBranchVersion(out var branchVersion);
return branchVersion;
}
}
///
/// Gets NVIDIA driver version
///
public static uint DriverVersion
{
get => GeneralApi.GetDriverAndBranchVersion(out _);
}
///
/// Gets NVAPI interface version as string
///
public static string InterfaceVersionString
{
get => GeneralApi.GetInterfaceVersionString();
}
///
/// Gets the current lid and dock information.
///
public static LidDockParameters LidAndDockParameters
{
get => GeneralApi.GetLidAndDockInfo();
}
///
/// Initializes the NvAPI library (if not already initialized) but always increments the ref-counter.
///
public static void Initialize()
{
GeneralApi.Initialize();
}
///
/// PRIVATE - Requests to restart the display driver
///
public static void RestartDisplayDriver()
{
GeneralApi.RestartDisplayDriver();
}
///
/// Decrements the ref-counter and when it reaches ZERO, unloads NVAPI library.
///
public static void Unload()
{
GeneralApi.Unload();
}
}
}