Функция D3DKMTGetDisplayModeList (d3dkmthk.h)

Функция D3DKMTGetDisplayModeList извлекает список доступных режимов отображения, включая режимы с расширенным форматом.

Синтаксис

NTSTATUS D3DKMTGetDisplayModeList(
  D3DKMT_GETDISPLAYMODELIST *unnamedParam1
);

Параметры

unnamedParam1

[вход/выход] pData — это указатель на структуру D3DKMT_GETDISPLAYMODELIST , содержащую аргументы для этой функции.

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

D3DKMTGetDisplayModeList возвращает значение NTSTATUS , например одно из следующих значений.

Код возврата Описание
STATUS_SUCCESS Список доступных режимов отображения был успешно получен, или количество режимов отображения было возвращено в pData-ModeCount>, если pData-pModeList> имеет значение NULL, а pData-ModeCount> — ноль при входе.
STATUS_DEVICE_REMOVED Графический адаптер остановлен.
STATUS_BUFFER_TOO_SMALL Буфер, предоставленный драйвером клиента в pData-pModeList>, недостаточно велик, чтобы содержать запрошенный список режима отображения.
STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET Целевой объект видеотрансляции недоступен для использования с источником видеотрансляции, который определяется pData-VidPnSourceId>. Поэтому для этого источника нет доступных режимов отображения.
STATUS_INVALID_PARAMETER** Параметры были проверены и определены как неверные.

Комментарии

Чтобы получить количество режимов отображения для указанного источника VidPn (pData-VidPnSourceId>) в графическом адаптере (pData-hAdapter>), драйвер клиента может вызвать D3DKMTGetDisplayModeList с параметром pData-pModeList> со значением NULL, а pData-ModeCount> — 0. Если этот вызов возвращает STATUS_SUCCESS, то возвращаемое значение pData-ModeCount> — это общее количество режимов отображения. Затем драйвер клиента может выделить массив modeCountD3DKMT_DISPLAYMODE структур, задать pModeList , чтобы он указывал на этот массив, и снова вызвать D3DKMTGetDisplayModeList , чтобы получить список режимов отображения.

Атрибуты отображения в указанном источнике VidPn можно изменить между этими двумя вызовами, что приведет к изменению списка режимов отображения. В этом случае, если массив D3DKMT_DISPLAYMODE , предоставленный вызывающим абонентом, недостаточно велик для хранения нового списка режимов отображения, эта функция вернет STATUS_BUFFER_TOO_SMALL с числом новых режимов отображения в возвращенном modeCount. Вызывающий объект может освободить предыдущий массив D3DKMT_DISPLAYMODE , выделить новый массив D3DKMT_DISPLAYMODE на основе нового возвращенного числа и снова вызвать эту функцию с новым числом и новым массивом D3DKMT_DISPLAYMODE , чтобы получить новый список режима отображения.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Целевая платформа Универсальное
Верхняя часть d3dkmthk.h (включая D3dkmthk.h)
Библиотека Gdi32.lib
DLL Gdi32.dll

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

D3DKMT_DISPLAYMODE

D3DKMT_GETDISPLAYMODELIST