D3DKMTSetDisplayMode 函数 (d3dkmthk.h)
D3DKMTSetDisplayMode 函数设置用于扫描到显示器的分配。
语法
NTSTATUS D3DKMTSetDisplayMode(
[in, out] const D3DKMT_SETDISPLAYMODE *unnamedParam1
);
参数
[in, out] unnamedParam1
指向 D3DKMT_SETDISPLAYMODE 结构的指针,该结构描述用于扫描的分配。
返回值
D3DKMTSetDisplayMode 返回以下值之一:
返回代码 | 说明 |
---|---|
STATUS_SUCCESS | 已成功设置显示模式。 |
STATUS_DEVICE_REMOVED | 图形适配器已停止或显示设备已重置。 |
STATUS_INVALID_PARAMETER | 参数已验证并确定为不正确。 |
STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER | 在调用 D3DKMTSetDisplayMode 之前,设备未获得视图的独占所有权。 因此,设备无法设置显示模式。 |
D3DDDIERR_INCOMPATIBLEPRIVATEFORMAT | OpenGL 可安装客户端驱动程序 (ICD) 必须将与 D3DKMT_SETDISPLAYMODE的 hPrimaryAllocation 成员指定的分配关联的图面的格式转换为 D3DKMT_SETDISPLAYMODE的 PrivateDriverFormatAttribute 成员指定的 format 属性。 然后,ICD 应再次调用 D3DKMTSetDisplayMode 。 ICD 可以分配新分配, (bitblt) 从旧主数据库传输到新,然后销毁旧主数据库,前提是 ICD 对所有后续操作使用此分配的新分配句柄。 ICD 应重复此过程,直到 D3DKMTSetDisplayMode 返回不同的返回值。 |
此函数还可能返回其他 NTSTATUS 值。
注解
在 OpenGL ICD 调用 D3DKMTSetDisplayMode 以设置使用扩展格式和/或多采样方法的新显示模式之前,ICD 必须确保当前 GDI 显示模式具有与新显示模式相同的分辨率。 否则, D3DKMTSetDisplayMode 返回 STATUS_INVALID_PARAMETER。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
目标平台 | 通用 |
标头 | d3dkmthk.h (包括 D3dkmthk.h) |
Library | Gdi32.lib |
DLL | Gdi32.dll |