IDXGIOutput1::FindClosestMatchingMode1 方法 (dxgi1_2.h)

查找与请求的显示模式最匹配的显示模式。

语法

HRESULT FindClosestMatchingMode1(
  [in]           const DXGI_MODE_DESC1 *pModeToMatch,
  [out]          DXGI_MODE_DESC1       *pClosestMatch,
  [in, optional] IUnknown              *pConcernedDevice
);

参数

[in] pModeToMatch

指向描述要匹配的显示模式 的 DXGI_MODE_DESC1 结构的指针。 可以不指定 DXGI_MODE_DESC1 的成员,这表示该成员没有首选项。 WidthHeight 的值为 0 表示未指定该值。 如果 WidthHeight 为 0,则两者都必须为 0。 RefreshRate 中的分子和分母为 0 表示未指定。 DXGI_MODE_DESC1的其他成员具有指示未指定成员的枚举值。 如果 pConcernedDeviceNULL,则无法DXGI_FORMAT_UNKNOWNDXGI_MODE_DESC1的 Format 成员。

[out] pClosestMatch

指向 DXGI_MODE_DESC1 结构的指针,该结构接收与 pModeToMatch 中描述的显示模式最匹配的显示模式的说明。

[in, optional] pConcernedDevice

指向 Direct3D 设备接口的指针。 如果此参数为 NULL则 FindClosestMatchingMode1 仅返回其格式与 pModeToMatch 格式匹配的模式;否则, FindClosestMatchingMode1 仅返回设备支持的扫描输出格式。 有关设备在每个功能级别支持扫描输出的格式的信息:

返回值

返回 DXGI_ERROR 主题中所述的错误代码之一。

注解

Direct3D 设备需要 UNORM 格式。

FindClosestMatchingMode1 查找与 pModeToMatch 中指定的模式最匹配的可用显示模式。

如果在 pModeToMatch 指向的 DXGI_MODE_DESC1 结构中设置 Stereo 成员以指定立体声模式作为输入,则 FindClosestMatchingMode1 仅考虑立体声模式。 如果未设置 Stereo,FindClosestMatchingMode1 仅考虑单声模式。

FindClosestMatchingMode1 按以下顺序解析显示模式 ((所有指定或未指定)的类似排名成员,依此) :

  1. ScanlineOrdering
  2. 缩放
  3. 格式
  4. 解决方法
  5. RefreshRate
FindClosestMatchingMode1 确定特定成员的最接近值时,它使用以前匹配的成员来筛选显示模式列表选项,并忽略其他成员。 例如,当 FindClosestMatchingMode1Resolution 匹配时,它已按特定的 ScanlineOrderingScalingFormat 筛选显示模式列表,而它忽略 RefreshRate。 此排序不会定义 FindClosestMatchingMode1 的每个使用方案的绝对排序,因为应用程序最初可以选择一些值,这会有效地更改解析成员的顺序。

FindClosestMatchingMode1 一次匹配一个显示模式的成员,通常按指定的顺序。

如果未指定成员, 则 FindClosestMatchingMode1 会指向与此输出相关的桌面值。 如果此输出不是桌面的一部分, FindClosestMatchingMode1 将使用默认桌面输出来查找值。 如果应用程序使用完全未指定的显示模式, FindClosestMatchingMode1 通常会返回与此输出的桌面设置匹配的显示模式。
由于未指定成员的优先级低于指定成员, 因此 FindClosestMatchingMode1 将解析比指定成员晚于指定成员的成员。

要求

要求
最低受支持的客户端 适用于 Windows 7 的Windows 8和平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 适用于 Windows Server 2008 R2 的Windows Server 2012和平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 dxgi1_2.h
Library DXGI.lib

另请参阅

IDXGIOutput1