다음을 통해 공유


DXGKDDI_RESETHWENGINE 콜백 함수(d3dkmddi.h)

Dxgkrnl 은 GPU 엔진 재설정이 필요할 때 디스플레이 미니포트 드라이버(KMD)의 DxgkDdiResetHwEngine 함수를 호출합니다.

구문

DXGKDDI_RESETHWENGINE DxgkddiResethwengine;

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

매개 변수

hAdapter

[in] 디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. KMD는 이전에 DxgkDdiAddDevice 함수의 MiniportDeviceContext 출력 매개 변수에서 Dxgkrnl에 이 핸들을 제공했습니다.

pResetHwEngine

[in/out] 하드웨어 엔진을 다시 설정하는 정보를 포함하는 DXGKARG_RESETHWENGINE 구조체에 대한 포인터입니다.

반환 값

DxgkDdiResetHwEngine 은 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 NTSTATUS 오류 코드를 반환해야 합니다.

설명

DxgkDdiResetHwEngine 구현은 DxgkCbInvalidateHwContext 콜백을 호출하여 GPU 엔진 재설정 작업의 영향을 받은 실행 중인 모든 컨텍스트를 OS에 알려야 합니다. OS는 이러한 컨텍스트 디바이스를 무효화하고(오류로 설정) 향후 제출을 수행하지 않습니다.

DxgkDdiResetHwEngine이 호출된 후 엔진이 아직 다시 시작된 것으로 간주되지 않으므로 무효화되지 않은 컨텍스트를 제출할 수 없습니다. OS는 이 엔진에서 인터럽트 사용을 다시 활성화하고 해당 상태를 초기화 GPU 엔진과 동기화해야 합니다. 그런 다음 OS는 인터럽트 사용을 설정하고 DxgkDdiResumeHwEngine을 호출합니다. 그러면 GPU 엔진이 엔진 재설정의 영향을 받지 않은 실행 가능한 모든 컨텍스트 예약을 시작하도록 지시합니다.

**DRIVER_INITIALIZATION_DATA ** 구조체에 이 콜백 함수의 구현을 등록합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 버전 1703(WDDM 2.2)
머리글 d3dkmddi.h

추가 정보

DXGKARG_RESETHWENGINE

DxgkDdiResumeHwEngine