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

DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 вызывается для изменения отображаемой конфигурации наложения.

Синтаксис

DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 DxgkddiSetvidpnsourceaddresswithmultiplaneoverlay3;

NTSTATUS DxgkddiSetvidpnsourceaddresswithmultiplaneoverlay3(
  IN_CONST_HANDLE hAdapter,
  IN_OUT_PDXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 pSetVidPnSourceAddressWithMultiPlaneOverlay
)
{...}

Параметры

hAdapter

Идентифицирует адаптер, содержащий оборудование наложения.

pSetVidPnSourceAddressWithMultiPlaneOverlay

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

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

DXGKDDI_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3 возвращает следующие значения:

Код возврата Описание
STATUS_SUCCESS Подпрограмма успешно завершена.
STATUS_INVALID_PARAMETER В [модели очереди пролистывания оборудования]/windows-hardware/drivers/display/hardware-flip-queue) драйверу не удалось обработать запрос на пролистывание.
STATUS_RETRY Возвращается по таким причинам, как не удалось ставить в очередь запрос к оборудованию из-за ожидающих проверок или драйвер должен быть вызван на PASSIVE_LEVEL. Если драйвер необходимо вызвать в PASSIVE_LEVEL он также должен задать DXGK_SETVIDPNSOURCEADDRESS_OUTPUT_FLAGS. Флаг PrePresentNeeded .

Комментарии

Эта функция обычно вызывается на уровне прерываний, но если драйверу необходимо выполнить настройку оборудования, которая может быть выполнена только в PASSIVE_LEVEL, драйвер может запросить отзыв этой функции в PASSIVE_LEVEL, возвратив STATUS_RETRY и задав DXGK_SETVIDPNSOURCEADDRESS_OUTPUT_FLAGS. Флаг PrePresentNeeded .

Даже при вызове на PASSIVE_LEVEL драйвер не должен тратить значительное количество времени на этот вызов, так как вызов блокирует поток планировщика MAIN GPU, и задержка может привести к сбою. Ресурсоемкие действия должны быть помещены в очередь в виде отдельных рабочих элементов по драйверу и обрабатываться в фоновом режиме. В этом сценарии драйвер должен управлять любыми конфликтами между элементом в очереди и изменениями оборудования, которые потребуются для будущих вызовов до и после.

Требования

Требование Значение
Целевая платформа Windows
Header d3dkmddi.h

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

DXGKARG_SETVIDPNSOURCEADDRESSWITHMULTIPLANEOVERLAY3