D3DKMTGetDisplayModeList 函数 (d3dkmthk.h)
D3DKMTGetDisplayModeList 函数检索可用显示模式的列表,包括具有扩展格式的模式。
语法
NTSTATUS D3DKMTGetDisplayModeList(
D3DKMT_GETDISPLAYMODELIST *unnamedParam1
);
参数
unnamedParam1
[in/out] pData 是指向包含此函数参数 的D3DKMT_GETDISPLAYMODELIST 结构的指针。
返回值
D3DKMTGetDisplayModeList 返回 NTSTATUS 值,如下所示之一。
返回代码 | 说明 |
---|---|
STATUS_SUCCESS | 已成功检索可用显示模式的列表,或者如果 pData-pModeList 为 NULL 且 pData-ModeCount> 在输入时为零,则 pData-ModeCount>> 中返回显示模式的数目。 |
STATUS_DEVICE_REMOVED | 图形适配器已停止。 |
STATUS_BUFFER_TOO_SMALL | 客户端驱动程序在 pData-pModeList> 中提供的缓冲区不够大,无法包含请求的显示模式列表。 |
STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET | 没有视频呈现目标可用于 pData-VidPnSourceId> 标识的视频演示源。 因此,此源没有可用的显示模式。 |
STATUS_INVALID_PARAMETER** | 参数已验证并确定为不正确。 |
注解
若要获取图形适配器 (pData-hAdapter) 上指定 VidPn 源 (pData-VidPnSourceId>>) 的显示模式数,客户端驱动程序可以调用 D3DKMTGetDisplayModeList,并将 pData-pModeList> 设置为 NULL,pData-ModeCount > 设置为 0。 如果此调用返回STATUS_SUCCESS,则返回的 pData-ModeCount> 是显示模式的总数。 然后,客户端驱动程序可以分配 ModeCount的数组D3DKMT_DISPLAYMODE 结构,将 pModeList 设置为指向此数组,然后再次调用 D3DKMTGetDisplayModeList 以检索显示模式列表。
指定 VidPn 源上的显示属性可以在这两个调用之间更改,从而导致显示模式列表发生更改。 在这种情况下,如果调用方提供的 D3DKMT_DISPLAYMODE 数组不够大,无法容纳新的显示模式列表,则此函数将返回STATUS_BUFFER_TOO_SMALL,并在返回的 ModeCount 中返回新显示模式的数目。 调用方可以释放上一 个D3DKMT_DISPLAYMODE 数组,根据返回的新数字分配新的 D3DKMT_DISPLAYMODE 数组,并使用新数字和新 D3DKMT_DISPLAYMODE 数组再次调用此函数,以获取新的显示模式列表。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
目标平台 | 通用 |
标头 | d3dkmthk.h (包括 D3dkmthk.h) |
Library | Gdi32.lib |
DLL | Gdi32.dll |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈