Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 调用nvapigpuu SetEDID ;关于Nvidia卡_C#_Nvidia_Nvapi - Fatal编程技术网

C# 调用nvapigpuu SetEDID ;关于Nvidia卡

C# 调用nvapigpuu SetEDID ;关于Nvidia卡,c#,nvidia,nvapi,C#,Nvidia,Nvapi,如何在Nvidia GPU上调用此方法: NVAPI_INTERFACE NvAPI_GPU_SetEDID ( NvPhysicalGpuHandle hPhysicalGpu, NvU32 displayOutputId, NV_EDID * pEDID ) Src: 我需要执行上面的命令来删除我们新的Quadro图形卡上所有DisplayOutput上的所有EDID设置。根据API文档,我尝试搜索NvPhysicalGpuHandle,发现了以下项目/库

如何在Nvidia GPU上调用此方法:

NVAPI_INTERFACE NvAPI_GPU_SetEDID (
    NvPhysicalGpuHandle hPhysicalGpu,
    NvU32   displayOutputId,
    NV_EDID *   pEDID 
)
Src:

我需要执行上面的命令来删除我们新的Quadro图形卡上所有DisplayOutput上的所有EDID设置。根据API文档,我尝试搜索NvPhysicalGpuHandle,发现了以下项目/库:

这没有我需要的方法
NvAPI\u GPU\u SetEDID


我不是硬件程序员,我只需要能够调用这个命令。有什么想法吗?这可以通过使用
nvapi.dll/nvapi64.dll通过
pinvoke
或其他什么东西来实现吗?

我个人没有测试过这一点,但是你可以试试这个库,看看它是否可以毫无问题地设置EDID信息,如果失败,请打开一个问题


这是你应该怎么做的

  • 首先,您需要找到要将EDID信息写入的正确的
    显示设备
    GPUOutput
    。有多种方法可以做到这一点。
    • 使用
      NvAPIWrapper.GPU.PhysicalGPU.GetPhysicalGPUs()
      static方法获取系统中所有
      PhysicalGPU
      的列表,然后根据逻辑选择所需的
      PhysicalGPU
      。找到正确的
      PhysicalGPU
      后,使用
      NvAPIWrapper.GPU.PhysicalGPU.GetDisplayDevices()
      方法获取连接到该GPU的所有
      DisplayDevice
      的列表,并将正确的存储在变量中
    • 除了搜索已连接的
      显示设备
      s,您还可以选择
      gpu输出
      s。与之前一样,首先需要找到正确的
      PhysicalGPU
      ,然后可以使用
      NvAPIWrapper.GPU.PhysicalGPU.activeoutpus
      属性获取所有
      GPUOutput
      的列表,并将正确的
      GPUOutput
      存储在变量中
    • 找到正确的
      显示设备的另一种方法是查找所有
      显示的列表。为此,您需要使用
      NvAPIWrapper.Display.Display.GetDisplays()
      static方法。这将返回
      Display
      s的数组。然后使用
      NvAPIWrapper.Display.Display.DisplayDevice
      属性,可以获得
      Display
      的相应
      DisplayDevice
  • 找到正确的
    显示设备
    GPU输出
    后,应使用
    NvAPIWrapper.GPU.PhysicalGPU.WriteEDIDData()
    方法。此方法允许您将存储在字节数组中的EDID数据写入以前选择的
    DisplayDevice
    GPUOutput
  • 注意:确保捕获
    nvidiapiexception
    并检查
    nvidiapiexception.Status
    属性,以防出现问题