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


функция обратного вызова 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 получает этот код ошибки, он должен повторно открыть или повторно создать первичный дескриптор, заменить все ссылки в буфере команд на старый дескриптор новым дескриптором, а затем повторно отправить буфер.
STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE Произошла ошибка в контексте устройства отрисовки, который указывает элемент hContext D3DKMT_OUTPUTDUPLPRESENT.
Примечание. Этот код ошибки не указывает на запуск процесса обнаружения времени ожидания и восстановления (TDR) или что GPU перестал отвечать.
Например, подсистема ядра графики DirectX помещает устройство в состояние ошибки, если драйвер минипорта отображения указал, что буфер DMA, отправленный с этого устройства, вызвал ошибку или если диспетчер памяти видео не мог отображать все выделения, необходимые для буфера DMA, даже после разделения буфера DMA. После того как устройство находится в состоянии ошибки, оно не может выполнять больше операций и должно быть уничтожено и повторно создано. ICD может вызвать функцию D3DKMTGetDeviceState, чтобы определить более точные причины ошибки.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 8
минимальный поддерживаемый сервер Windows Server 2012
целевая платформа Всеобщий
заголовка d3dkmthk.h (include D3dkmthk.h)

См. также

D3DKMTGetDeviceState

D3DKMT_OUTPUTDUPLPRESENT