IDisplayInformationStaticsInterop::GetForMonitor 方法(windows.graphics.display.interop.h)

检索指定监视器的 DisplayInformation 对象。 GetForMonitor 始终分配并返回新的 displayInformation

语法

HRESULT GetForMonitor(
  HMONITOR monitor,
  REFIID   riid,
  void     **displayInfo
);

参数

monitor

类型:[in]\ HMONITOR

监视器的句柄。

riid

类型:[in]\ REFIID

DisplayInformation 类的 GUID

displayInfo

类型:[iid_is][retval][out] void**

指向内存块的指针,该块接收指向返回 DisplayInformation 对象的指针。

返回值

类型:HRESULT

如果函数成功,则返回 S_OK。 否则,它将返回 HRESULT错误代码

言论

考虑:

  • 不跟踪窗口移动,因为没有窗口。
  • DisplayInformation 返回的任何缩放因子都是整个监视器的当前缩放因子。 DPI 虚拟化的工作方式与 GetScaleFactorForMonitor相同,这是用于读取缩放的基础 API。
  • 如果要注册事件,则当前线程必须运行 Windows.System.DispatcherQueue 才能接收事件。 调用 GetForMonitor时,将贴靠该 DispatcherQueue。 如果没有 DispatcherQueue,则会在事件处理程序注册方法中返回异常(在应用程序二进制接口级别,HRESULT)。
  • 当前线程可以是 MTA 或 STA。

你负责:缓存创建的 DisplayInformation,前提是 监视器的参数 相关;取消注册事件处理程序;并删除最后一个引用以销毁 DisplayInformation 实例。

例子

请参阅 IDisplayInformationStaticsInterop::GetForWindow中的代码示例。

要求

要求 价值
最低支持的客户端 Windows 11 内部版本 22621
标头 windows.graphics.display.interop.h