DXGKDDI_COLLECTDBGINFO2 콜백 함수(d3dkmddi.h)
DxgkDdiCollectDbgInfo2 함수는 디버그 보고서에 대한 드라이버 정보를 출력합니다.
통사론
DXGKDDI_COLLECTDBGINFO2 DxgkddiCollectdbginfo2;
NTSTATUS DxgkddiCollectdbginfo2(
IN_CONST_HANDLE hAdapter,
INOUT_PDXGKARG_COLLECTDBGINFO2 pCollectDbgInfo2
)
{...}
매개 변수
hAdapter
[in] 디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. 이전에 KMD(디스플레이 미니포트)는 DxgkDdiAddDeviceMiniportDeviceContext 출력 매개 변수에서 Dxgkrnl 이 핸들을 제공했습니다.
pCollectDbgInfo2
[in/out] 디버그 보고서에 대한 정보를 포함하는 DXGKARG_COLLECTDBGINFO2 구조체에 대한 포인터입니다.
반환 값
DxgkDdiCollectDbgInfo2 다음 값 중 하나를 반환합니다.
발언
Dxgkrnl OS가 드라이버 관련 디버그 보고서를 생성하려고 할 때마다 KMD의 DxgkDdiCollectDbgInfo2 함수를 호출합니다. DxgkDdiCollectDbgInfo2TDR(시간 제한 검색 및 복구)이 작동하기 직전에 또는 OS 버그가 검사되기 직전에 호출될 수 있습니다. DxgkDdiCollectDbgInfo2 최대한 빨리 반환해야 하지만 드라이버가 이 함수에 사용할 수 있는 시스템 정의 최대 시간은 없습니다.
DxgkDdiCollectDbgInfo2DxgkDdiCollectDbgInfo보다 TDR의 근본 원인에 대한 자세한 정보를 받습니다. KMD는 TDR을 담당하는 GPU 부분과 관련된 상태를 저장할 수 있습니다.
- WDDM 3.2 드라이버는 DxgkddiCollectDbgInfo2구현할 필요가 없습니다. 이 경우 OS는 DxgkddiCollectDbgInfo 호출합니다.
KMD는 디버그 정보를 수집해야 합니다. DxgkDdiCollectDbgInfo2 호출되면 드라이버는 디버그 보고서에 필요한 정보 유형을 나타내는 pCollectDbgInfo2->Reason 버그 검사 코드를 받습니다. 드라이버는 pCollectDbgInfo2->pBuffer 가리키는 버퍼에 필요한 디버그 정보를 복사합니다. 드라이버에서 복사할 수 있는 정보의 최대 바이트 수는 pCollectDbgInfo2->BufferSize지정됩니다.
DxgkDdiCollectDbgInfo 일반적으로 정의되지 않은 IRQL에서 실행됩니다. 그러나 pCollectDbgInfo2->이유VIDEO_TDR_TIMEOUT_DETECTED(어댑터 전체 재설정을 나타내기 위해) 또는 VIDEO_ENGINE_TIMEOUT_DETECTED(실제 어댑터 내에서 하나 이상의 노드 재설정을 나타내기 위해 Windows 8부터 사용 가능)로 설정된 경우 드라이버는 DxgkDdiCollectDbgInfo2 페이징할 수 있는지 확인해야 합니다. 는 IRQL = PASSIVE_LEVEL실행되며 동기화 0 수준지원합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 11 버전 24H2(WDDM 3.2) |
헤더 | d3dkmddi.h |
IRQL | PASSIVE_LEVEL(설명 참조) |