Поделиться через


Функция 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

Указатель на переменную, получающую количество элементов в таблице сведений о пути. Затем значение параметра pNumPathArrayElements используется при последующем вызове функции QueryDisplayConfig . Этот параметр не может иметь значение NULL.

[out] numModeInfoArrayElements

Указатель на переменную, которая получает количество элементов в таблице сведений о режиме. Затем значение параметра pNumModeInfoArrayElements используется при последующем вызове функции QueryDisplayConfig . Этот параметр не может иметь значение NULL.

Возвращаемое значение

Функция возвращает один из следующих кодов возврата.

Код возврата Описание
ERROR_SUCCESS
Функция выполнена успешно.
ERROR_INVALID_PARAMETER
Недопустимое сочетание указанных параметров и флагов.
ERROR_NOT_SUPPORTED
В системе не работает графический драйвер, написанный в соответствии с моделью windows Display Driver Model (WDDM). Функция поддерживается только в системе с работающим драйвером WDDM.
ERROR_ACCESS_DENIED
Вызывающий объект не имеет доступа к сеансу консоли. Эта ошибка возникает, если вызывающий процесс не имеет доступа к текущему рабочему столу или выполняется в удаленном сеансе.
ERROR_GEN_FAILURE
Произошла неизвестная ошибка.

Комментарии

Учитывая текущую конфигурацию пути отображения и запрошенные флаги, GetDisplayConfigBufferSizes возвращает размер таблиц пути и режимов, необходимых для хранения информации. GetDisplayConfigBufferSizes может возвращать значения, которые немного больше, чем требуется на самом деле, так как определяет, что все исходные и целевые пути являются допустимыми; В то время как драйвер может накладывать некоторые ограничения на возможные сочетания.

Так как GetDisplayConfigBufferSizes может определить только требуемый размер массива на этот момент времени, возможно, что между вызовами GetDisplayConfigBufferSizes и QueryDisplayConfig конфигурация системы изменилась и предоставленных размеров массива больше недостаточно для хранения новых данных пути.

Если вызывающему объекту известно, что он должен включить дополнительные источники и целевые объекты, вызывающий объект может выделить больший массив данных режима, чем возвращается из GetDisplayConfigBufferSizes , чтобы у него было пространство для добавления дополнительных исходных и целевых режимов после вызова QueryDisplayConfig и перед вызовом SetDisplayConfig.

Примеры

Пример getDisplayConfigBufferSizes см. в разделе QueryDisplayConfig.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Целевая платформа Универсальное
Верхняя часть winuser.h (включая Windows.h)
Библиотека User32.lib; OneCoreUAP.lib в Windows 10
DLL User32.dll
Набор API ext-ms-win-ntuser-sysparams-ext-l1-1-1 (представлено в Windows 10, версия 10.0.14393)

См. также раздел

QueryDisplayConfig

SetDisplayConfig