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


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

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

Синтаксис

NTSTATUS D3DKMTGetDisplayModeList(
  D3DKMT_GETDISPLAYMODELIST *unnamedParam1
);

Параметры

unnamedParam1

[in/out] 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 является общим числом режимов отображения. Затем драйвер клиента может выделить массив структур modeCount ModeCountD3DKMT_DISPLAYMODE, задать pModeList, чтобы указать на этот массив, и вызвать D3DKMTGetDisplayModeList, чтобы получить список режимов отображения.

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista
целевая платформа Всеобщий
заголовка d3dkmthk.h (include D3dkmthk.h)
библиотеки Gdi32.lib
DLL Gdi32.dll

См. также

D3DKMT_DISPLAYMODE

D3DKMT_GETDISPLAYMODELIST