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

另请参阅

D3DKMT_SETDISPLAYMODE