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 |