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