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


функция обратного вызова PFND3DDDI_SETDISPLAYMODE (d3dumddi.h)

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

Синтаксис

PFND3DDDI_SETDISPLAYMODE Pfnd3dddiSetdisplaymode;

HRESULT Pfnd3dddiSetdisplaymode(
  HANDLE hDevice,
  const D3DDDIARG_SETDISPLAYMODE *unnamedParam2
)
{...}

Параметры

hDevice

Дескриптор устройства отображения (графический контекст).

unnamedParam2

pData [in]

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

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

SetDisplayMode возвращает S_OK или соответствующий результат ошибки, если режим отображения не установлен.

Комментарии

Среда выполнения Microsoft Direct3D вызывает SetDisplayMode для переключения в режим отображения или основной режим, который не поддерживается рабочим столом GDI. В следующем списке приведены примеры таких первичных объектов:

  • Первичные объекты, созданные с использованием 10-bits-per-channel (10:10:10:2), отображают и отрисовывают целевые форматы (например, D3DFMT_A2R10G10B10)
  • Первичные выборки с несколькими выборкой, где выполняется многократная выборка при сканировании
  • Постоянные первичные приложения, используемые полноэкранными приложениями Microsoft DirectX версии 9.L
Среда выполнения Direct3D вызывает функцию CreateResource драйвера отображения пользовательского режима для создания отсканированного источника. Однако драйвер должен программировать оборудование для сканирования только при вызове его функции SetDisplayMode . Поэтому среда выполнения задает элементы hResource и SubResourceIndexструктуры D3DDDIARG_SETDISPLAYMODE , на которую указывает параметр pData , в качестве источника, созданного с помощью вызова функции CreateResource драйвера. Затем драйвер должен преобразовать основной объект, представленный hResource и SubResourceIndex , в основной дескриптор выделения. После выполнения этого преобразования драйвер должен передать результирующий дескриптор в вызове функции pfnSetDisplayModeCb , которая затем инициирует вызов функции DxgkDdiCommitVidPn драйвера мини-порта дисплея.

Драйвер отображения пользовательского режима может задать элемент hPrimaryAllocation структуры D3DDDICB_SETDISPLAYMODE в вызове pfnSetDisplayModeCb для сканирования любого выделения. Однако выделение должно быть отмечено как основное (то есть драйвер отображения пользовательского режима должен установить флаг основного битового поля в элементе Flags структуры D3DDDI_ALLOCATIONINFO при вызове функции pfnAllocateCb для создания выделения).

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Целевая платформа Персональный компьютер
Верхняя часть d3dumddi.h (включая D3dumddi.h)

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

D3DDDIARG_SETDISPLAYMODE

D3DDDI_DEVICEFUNCS

pfnSetDisplayModeCb