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

Отправляет приведенную команду из цепочки буферов API дублирования рабочего стола диспетчера окон рабочего стола (DWM) в подсистему графического ядра Microsoft DirectX (Dxgkrnl.sys).

Синтаксис

PFND3DKMT_OUTPUTDUPLPRESENT Pfnd3dkmtOutputduplpresent;

NTSTATUS Pfnd3dkmtOutputduplpresent(
  [in] const D3DKMT_OUTPUTDUPLPRESENT *unnamedParam1
)
{...}

Параметры

[in] unnamedParam1

Pdata

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

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

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

Код возврата Описание
STATUS_SUCCESS Текущая операция успешно выполнена.
STATUS_DEVICE_REMOVED Графический адаптер остановлен или контекст отображения был сброшен.
STATUS_INVALID_PARAMETER Параметры были проверены и определены как неверные.
STATUS_NO_MEMORY D3DKMTOutputDuplPresent не удалось завершить из-за нехватки памяти.
STATUS_GRAPHICS_ALLOCATION_INVALID Основной дескриптор поверхности был признан недействительным из-за изменения режима отображения. Если драйвер клиента с установкой OpenGL (ICD) получает этот код ошибки, он должен повторно открыть или повторно создать основной дескриптор, заменить все ссылки в буфере команд на старый дескриптор новым дескриптором, а затем повторно отправить буфер.
STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE Произошла ошибка в контексте устройства отрисовки, указанного элементом hContext D3DKMT_OUTPUTDUPLPRESENT .
Примечание: Этот код ошибки не указывает на запуск процесса обнаружения и восстановления времени ожидания (TDR) или на то, что GPU перестал отвечать.
Например, подсистема графического ядра DirectX переводит устройство в состояние ошибки, если драйвер мини-порта дисплея указал, что буфер DMA, отправленный с этого устройства, вызвал сбой, или если диспетчеру видеопамяти не удалось перейти на страницу всех выделений, необходимых для буфера DMA, даже после разделения буфера DMA. После того как устройство находится в состоянии ошибки, оно не может выполнять больше никаких операций и должно быть уничтожено и повторно создано. ICD может вызвать функцию D3DKMTGetDeviceState , чтобы определить более точную причину ошибки.

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Целевая платформа Универсальное
Верхняя часть d3dkmthk.h (включая D3dkmthk.h)

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

D3DKMTGetDeviceState

D3DKMT_OUTPUTDUPLPRESENT