无法使用 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().