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


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

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

Синтаксис

DXGKDDI_RESETHWENGINE DxgkddiResethwengine;

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

Параметры

hAdapter

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

pResetHwEngine

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

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

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

Замечания

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

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

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

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 10 версии 1703 (WDDM 2.2)
Header d3dkmddi.h

См. также

DXGKARG_RESETHWENGINE

DxgkDdiResumeHwEngine