IDirect3D9Ex::GetAdapterDisplayModeEx 方法 (d3d9.h)

检索适配器的当前显示模式和旋转设置。

语法

HRESULT GetAdapterDisplayModeEx(
  [in]      UINT               Adapter,
  [in, out] D3DDISPLAYMODEEX   *pMode,
  [in, out] D3DDISPLAYROTATION *pRotation
);

参数

[in] Adapter

类型: UINT

表示要查询的显示适配器的序号。 D3DADAPTER_DEFAULT始终是主显示适配器。

[in, out] pMode

类型: D3DDISPLAYMODEEX*

指向包含有关适配器显示模式的数据的 D3DDISPLAYMODEEX 结构的指针。 与设备的显示模式相反,如果设备没有全屏模式,则设备可能不处于活动状态。 可以设置为 NULL

[in, out] pRotation

类型: D3DDISPLAYROTATION*

指向 D3DDISPLAYROTATION 结构的指针,该结构指示应用程序将执行屏幕旋转的类型。 使用 D3DPRESENTFLAG_NOAUTOROTATE 标志时,通过此指针返回的值非常重要;否则,可以将其设置为 NULL

返回值

类型: HRESULT

如果方法成功,则返回值D3D_OK。

如果 Adapter 在范围外或 pMode 无效,此方法将返回D3DERR_INVALIDCALL。

备注

当显示器采用扩展格式(如 2:10:10:10:10)时,GetAdapterDisplayModeEx 不会返回正确的格式。 而是返回格式 X8R8G8B8。

对窗口化应用程序,从 PresentExCheckDeviceState 返回的 S_PRESENT_MODE_CHANGED 值指示显示模式已更改,并且当前显示模式可能具有不同的格式。 为了避免颜色转换的 Present blt,窗口化应用程序可以选择使用此方法获取新的显示模式信息,并相应地调整其交换链格式。 如果此头不再是桌面的一部分或监视器断开连接,则此方法返回D3DERR_NOTAVAILABLE。

要求

   
目标平台 Windows
标头 d3d9.h
Library D3D9.lib

请参阅

IDirect3D9Ex