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

Представляет изображение экрана для устройства отображения драйвера только для отображения в режиме ядра (KMDOD).

Синтаксис

DXGKDDI_PRESENTDISPLAYONLY DxgkddiPresentdisplayonly;

NTSTATUS DxgkddiPresentdisplayonly(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_PRESENT_DISPLAYONLY pPresentDisplayOnly
)
{...}

Параметры

hAdapter

Дескриптор контекста устройства для видеоадаптера. Функция DXGkDdiAddDevice KMDOD ранее возвращала этот дескриптор в параметре MiniportDeviceContext .

pPresentDisplayOnly

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

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

Возвращает одно из следующих значений:

Код возврата Описание
STATUS_SUCCESS Текущая операция успешно завершена.
STATUS_PENDING Текущая операция была отправлена в очередь программного или аппаратного обеспечения для завершения.
В этом случае KMDOD должен использовать прерывание и отложенный вызов процедуры (DPC), чтобы сообщить о ходе текущей текущей операции. В противном случае операционная система использует процесс обнаружения и восстановления времени ожидания (TDR ), который сообщает об ошибке и требует, чтобы KMDOD повторно инициализировал себя и сбросил GPU.
Обратите внимание, что этот код состояния не должен возвращаться для синхронного режима, как описано в разделе Примечания.

 

Драйвер также может возвращать любой другой код состояния ошибки, определенный в ntstatus.h, чтобы указать проблемы, возникшие в ходе текущей операции.

Комментарии

KMDOD должен завершить все перемещения между экранами перед копированием грязное прямоугольников. Кроме того, KMDOD должен выполнять каждую операцию перемещения или копирования, прежде чем начинать другую операцию перемещения или копирования.

Операционная система поддерживает два режима настоящих операций KMDOD: синхронный и асинхронный. В зависимости от реализации оборудования и драйвера KMDOD может использовать режим или переключаться между ними в любое время.

Операционная система гарантирует, что эта функция соответствует режиму синхронизации нулевого уровня, как определено в разделе Потоки и синхронизация нулевого уровня.

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Целевая платформа Персональный компьютер
Верхняя часть d3dkmddi.h
IRQL PASSIVE_LEVEL

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

DXGKARGCB_NOTIFY_INTERRUPT_DATA

DXGKARG_PRESENT_DISPLAYONLY

DxgkCbNotifyDpc

DxgkCbNotifyInterrupt

DxgkCbPresentDisplayOnlyProgress

DxgkCbQueueDpc

DxgkDdiAddDevice