DXGKDDI_DSIRESET回调函数 (dispmprt.h)
语法
DXGKDDI_DSIRESET DxgkddiDsireset;
NTSTATUS DxgkddiDsireset(
[in] HANDLE Context,
[in] D3DDDI_VIDEO_PRESENT_TARGET_ID TargetId,
[out] PDXGK_DSI_RESET pArgs
)
{...}
参数
[in] Context
[in] TargetId
监视器的目标标识符。
[out] pArgs
指向 DXGI_DSI_CAPS 结构的指针。
返回值
DxgkddiDsiReset 如果成功,则返回STATUS_SUCCESS;否则,它将返回 Ntstatus.h中定义的错误代码之一。
言论
如果 OEM 面板驱动程序检测到面板处于错误状态,它会发送 IOCTL_MIPI_DSI_RESET 以请求在图形驱动程序和 OS 控件下重置设备。 重置一定是一个重量级的作,这将导致多个帧的显示空白,因此应仅用作最后手段。
在处理重置时无法继续正常面板作,因此 OS 将非常类似于显示模式更改、刷新挂起的 GPU 活动(包括任何翻转)以及阻止新工作,直到完成。 OS 将 IOCTL 转换为 DxgkDsiReset DDI 调用。 驱动程序应从面板完全移除电源,并在适当延迟后从头开始重新初始化电源,并在适当延迟后执行所需的任何作,以便在返回之前将面板还原为可工作状态。 设置后,SecondaryPort
标志指示重置应以辅助面板而不是主要面板为目标。
如果图形驱动程序需要完整模式集才能从面板重置执行或还原,则应 NeedModeSet
设置输出标志。 如果从调用返回时设置,OS 将在取消阻止正常活动之前使用 DxgkDdiSetTimingsFromVidPn 调用进行响应。 如果需要,驱动程序可以选择将某些重置工作推迟到此调用,前提是在设置计时调用后预期会出现可工作状态。
图形驱动程序应报告驱动程序通过 MipiErrors
输出字段检测到的任何低级别 MIPI 错误,且未由驱动程序处理。
如果在重置期间发生不可恢复的错误,图形驱动程序应设置 ResetFailed
输出标志。 这预计将是灾难性的失败。 图形驱动程序还应通过指示已使用 DxgkCbIndicateConnectorChange 回调,然后通过报告已失败的目标的 TargetStatusDisconnect DxgkDdiQueryConnectionChange 来指示未显示任何显示器。
输出字段将传播回 IOCTL 的输出缓冲区。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 版本 2004 |
标头 | dispmprt.h |