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

Dxgkrnl вызывает функцию DxgkDdiResetHwEngine драйвера минипорта дисплея (KMD), когда требуется сброс ядра GPU.

Синтаксис

DXGKDDI_RESETHWENGINE DxgkddiResethwengine;

NTSTATUS DxgkddiResethwengine(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARG_RESETHWENGINE pResetHwEngine
)
{...}

Параметры

hAdapter

[in] Дескриптор для блока контекста, связанного с видеоадаптером. KMD ранее предоставлял этот дескриптор Dxgkrnl в выходном параметре MiniportDeviceContext функции DxgkDdiAddDevice .

pResetHwEngine

[вход/выход] Указатель на структуру DXGKARG_RESETHWENGINE , содержащую сведения для сброса аппаратного модуля.

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

DxgkDdiResetHwEngine возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае он должен вернуть соответствующий код ошибки NTSTATUS.

Комментарии

Реализация DxgkDdiResetHwEngine должна вызывать обратный вызов DxgkCbInvalidateHwContext , чтобы сообщить ОС обо всех запущенных контекстах, на которые повлияла операция сброса ядра GPU. ОС сделает эти контекстные устройства недействительными (установит их по ошибке) и не будет выполнять последующие отправки.

Подсистема еще не считается возобновленной после вызова DxgkDdiResetHwEngine , поэтому контексты, которые не были признаны недействительными, не допускаются к отправке. Операционной системе необходимо повторно включить прерывания из этого модуля и синхронизировать его состояние с подсистемой сброса GPU. После этого ОС включит прерывания и вызовет DxgkDdiResumeHwEngine, который предписывает обработчику GPU начать планирование всех контекстов, доступных для запуска, которые не были затронуты сбросом подсистемы.

Зарегистрируйте реализацию этой функции обратного вызова в структуре **DRIVER_INITIALIZATION_DATA ** .

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 1703 (WDDM 2.2)
Верхняя часть d3dkmddi.h

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

DXGKARG_RESETHWENGINE

DxgkDdiResumeHwEngine