无法使用 NVAPI 启用/禁用 Mosaic
Unable to enable / disable Mosaic using NVAPI
我正在编写一些代码以在 Quadro P4000 上通过 NVAPI 启用和禁用 Mosaic。
我已经通过机器上的 Nvidia 实用程序将 Mosaic 设置为活动状态并且它可以工作。但是,当我尝试通过代码禁用 Mosaic 设置时,我收到 NVAPI_NO_IMPLEMENTATION 状态错误。
这是我使用的代码:
void disableMosaic()
{
NvAPI_Status error;
NvAPI_ShortString estring;
NvAPI_Initialize();
error = NvAPI_EnableCurrentMosaicTopology(0);
if (error != NVAPI_OK)
{
NvAPI_GetErrorMessage(error, estring);
printf("Error disabling Mosaic: %s\n", estring);
}
else
{
printf("Mosaic disabled successfully.\n");
}
}
根据documentation from Nvidia,这意味着驱动程序不支持此功能,虽然我觉得这有点含糊,但驱动程序已经很成熟而且它不是新卡。有谁知道这可能是其他原因还是我在用这种方法浪费时间?
经过更多调查,事实证明错误消息是正确的,但有一个变通办法。
NvAPI_EnableCurrentMosaicTopology()
方法适用于 Windows XP(我在该区域找到的大多数示例代码都非常古老,因此出现了这个错误)。要在 Windows 7 - 10 上使用此功能,可以使用另一种方法:NvAPI_Mosaic_EnableCurrentTopo()
.
我正在编写一些代码以在 Quadro P4000 上通过 NVAPI 启用和禁用 Mosaic。
我已经通过机器上的 Nvidia 实用程序将 Mosaic 设置为活动状态并且它可以工作。但是,当我尝试通过代码禁用 Mosaic 设置时,我收到 NVAPI_NO_IMPLEMENTATION 状态错误。
这是我使用的代码:
void disableMosaic()
{
NvAPI_Status error;
NvAPI_ShortString estring;
NvAPI_Initialize();
error = NvAPI_EnableCurrentMosaicTopology(0);
if (error != NVAPI_OK)
{
NvAPI_GetErrorMessage(error, estring);
printf("Error disabling Mosaic: %s\n", estring);
}
else
{
printf("Mosaic disabled successfully.\n");
}
}
根据documentation from Nvidia,这意味着驱动程序不支持此功能,虽然我觉得这有点含糊,但驱动程序已经很成熟而且它不是新卡。有谁知道这可能是其他原因还是我在用这种方法浪费时间?
经过更多调查,事实证明错误消息是正确的,但有一个变通办法。
NvAPI_EnableCurrentMosaicTopology()
方法适用于 Windows XP(我在该区域找到的大多数示例代码都非常古老,因此出现了这个错误)。要在 Windows 7 - 10 上使用此功能,可以使用另一种方法:NvAPI_Mosaic_EnableCurrentTopo()
.