GetDisplayConfigBufferSizes 函数 (winuser.h)
GetDisplayConfigBufferSizes 函数检索调用 QueryDisplayConfig 函数所需的缓冲区大小。
语法
LONG GetDisplayConfigBufferSizes(
[in] UINT32 flags,
[out] UINT32 *numPathArrayElements,
[out] UINT32 *numModeInfoArrayElements
);
参数
[in] flags
要检索的信息的类型。 Flags 参数的值必须是下列值之一。
QDC_ALL_PATHS
调用方请求表大小以保存所有可能的路径组合。
QDC_ONLY_ACTIVE_PATHS
调用方请求表大小以仅保留活动路径。
QDC_DATABASE_CURRENT
调用方请求表大小,以保存当前连接的监视器的持久性数据库中定义的活动路径。
[out] numPathArrayElements
指向接收路径信息表中元素数的变量的指针。 然后,对 QueryDisplayConfig 函数的后续调用将使用 pNumPathArrayElements 参数值。 此参数不能为 NULL。
[out] numModeInfoArrayElements
指向接收模式信息表中元素数的变量的指针。 然后,对 QueryDisplayConfig 函数的后续调用将使用 pNumModeInfoArrayElements 参数值。 此参数不能为 NULL。
返回值
该函数返回以下返回代码之一。
返回代码 | 说明 |
---|---|
|
函数成功。 |
|
指定的参数和标志的组合无效。 |
|
系统未运行根据 Windows 显示驱动程序模型 (WDDM) 编写的图形驱动程序。 仅在运行 WDDM 驱动程序的系统上支持 函数。 |
|
调用方无权访问控制台会话。 如果调用进程无权访问当前桌面或在远程会话上运行,则会发生此错误。 |
|
发生了未指定的错误。 |
注解
给定当前的显示路径配置和请求的标志, GetDisplayConfigBufferSizes 返回存储信息所需的路径和模式表的大小。 GetDisplayConfigBufferSizes 可以返回的值略大于实际所需的值,因为它确定所有源路径和目标路径都有效;而驱动程序可能会对可能的组合施加一些限制。
由于 GetDisplayConfigBufferSizes 只能确定该时刻所需的数组大小,因此在调用 GetDisplayConfigBufferSizes 和 QueryDisplayConfig 之间,系统配置可能已更改,并且提供的数组大小不再足以存储新路径数据。
如果调用方知道必须启用其他源和目标,则调用方可以分配比 GetDisplayConfigBufferSizes 返回的更大的模式信息数组,以便它有空间在调用 QueryDisplayConfig 之后和调用 SetDisplayConfig 之前添加其他源和目标模式。
示例
有关 GetDisplayConfigBufferSizes 的示例,请参阅 QueryDisplayConfig。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Vista 和更高版本的 Windows 操作系统中可用。 |
目标平台 | 通用 |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib;Windows 10 上的 OneCoreUAP.lib |
DLL | User32.dll |
API 集 | ext-ms-win-ntuser-sysparams-ext-l1-1-1 (在 Windows 10 版本 10.0.14393 中引入) |