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


Функция DrvGetModes (winddi.h)

Функция DrvGetModes перечисляет режимы, поддерживаемые данным устройством.

Синтаксис

ULONG DrvGetModes(
  [in]            HANDLE   hDriver,
                  ULONG    cjSize,
  [out, optional] DEVMODEW *pdm
);

Параметры

[in] hDriver

Дескриптор для драйвера, для которого должны быть перечислены режимы. Это дескриптор, передаваемый в параметре hDriver функции DrvEnablePDEV .

cjSize

Задает размер буфера в байтах, на который указывает pdm.

[out, optional] pdm

Указатель на буфер, содержащий структуры DEVMODEW для заполнения драйвером или значение NULL.

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

Драйвер должен возвращать число байтов, записанных в буфер, если pdm не имеет значение NULL. Если pdm имеет значение NULL, драйвер должен вернуть количество байтов, необходимое для хранения всех данных в режиме . Драйвер должен возвращать ноль при возникновении ошибки.

Комментарии

Эта функция должна быть реализована во всех драйверах отображения.

Window Manager динамически загружает все драйверы отображения, связанные с драйвером мини-порта (на основе раздела InstalledDisplayDrivers в реестре). Каждый драйвер дисплея вызывается для получения списка режимов, поддерживаемых этой комбинацией загруженных драйверов. Например, драйвер дисплея VGA64K возвращает только те цветовые режимы 64K, которые были возвращены в списке режимов, полученных от драйвера мини-порта.

DrvGetModes можно вызывать до появления активного PDEV.

Ознакомьтесь с примерами Permedia , чтобы увидеть рабочую реализацию DrvGetModes.

Примечание Пакет драйверов Microsoft Windows (WDK) не содержит примеры драйверов для отображения 3Dlabs Permedia2 (3dlabs.htm ) и 3Dlabs Permedia3 (Perm3.htm). Эти примеры драйверов можно получить из пакета средств разработки драйверов (DDK) для Windows Server 2003 с пакетом обновления 1 (SP1), который можно скачать на странице комплекта средств разработки драйверов для Windows на веб-сайте WDHC.
 

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть winddi.h (включая Winddi.h)

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

DEVMODEW

DrvAssertMode

DrvEnablePDEV

EngDeviceIoControl