DXGKDDI_COLLECTDBGINFO 콜백 함수(d3dkmddi.h)

DxgkDdiCollectDbgInfo 함수는 디버그 보고서에 대한 드라이버 정보를 출력합니다.

구문

DXGKDDI_COLLECTDBGINFO DxgkddiCollectdbginfo;

NTSTATUS DxgkddiCollectdbginfo(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_COLLECTDBGINFO pCollectDbgInfo
)
{...}

매개 변수

[in] hAdapter

디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. 디스플레이 미니포트 드라이버는 이전에 DxgkDdiAddDevice 함수의 MiniportDeviceContext 출력 매개 변수에서 Microsoft DirectX 그래픽 커널 하위 시스템에 이 핸들을 제공했습니다.

[in] pCollectDbgInfo

디버그 보고서에 대한 정보를 설명하는 DXGKARG_COLLECTDBGINFO 구조체에 대한 포인터입니다.

반환 값

DxgkDdiCollectDbgInfo 는 다음 값 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS DxgkDdiCollectDbgInfo 는 디버그 보고서에 대한 드라이버 정보를 성공적으로 출력합니다. 그렇지 않으면 운영 체제는 DXGKARG_COLLECTDBGINFO 구조체의 pBuffermember가 가리키는 버퍼의 콘텐츠를 무시하고 DxgkDdiCollectDbgInfo의 정보를 디버그 보고서에 추가하지 않았습니다.
STATUS_NO_MEMORY DxgkDdiCollectDbgInfo 가 완료하는 데 필요한 메모리를 할당할 수 없습니다.
STATUS_UNSUCCESSFULL 또 다른 오류로 인해 드라이버가 유효한 디버그 정보를 수집하지 못했습니다.

설명

DirectX 그래픽 커널 하위 시스템은 운영 체제가 드라이버 관련 디버그 보고서를 생성하려고 할 때마다 디스플레이 미니포트 드라이버의 DxgkDdiCollectDbgInfo 함수를 호출합니다. DxgkDdiCollectDbgInfo 는 TDR(시간 제한 검색 및 복구) 작업 직전에 또는 운영 체제 버그 검사 직전에 호출될 수 있습니다(자세한 내용은 DxgkDdiResetFromTimeout 참조).

디스플레이 미니포트 드라이버는 디버그 정보를 수집해야 합니다. DxgkDdiCollectDbgInfo가 호출되면 드라이버는 pCollectDbgInfo 매개 변수가 디버그 보고서에 필요한 정보 유형을 나타내는 DXGKARG_COLLECTDBGINFO 구조체의 Reason 멤버에서 버그 검사 코드를 받습니다. 드라이버는 필요한 디버그 정보를 DXGKARG_COLLECTDBGINFO pBuffer 멤버가 가리키는 버퍼에 복사합니다. DXGKARG_COLLECTDBGINFO BufferSize 멤버는 드라이버에서 복사할 수 있는 최대 정보 바이트 수를 지정합니다.

DxgkDdiCollectDbgInfo 는 일반적으로 정의되지 않은 IRQL에서 실행됩니다. 그러나 pCollectDbgInfo 매개 변수가 가리키는 DXGKARG_COLLECTDBGINFO 구조체의 Reason 멤버가 VIDEO_TDR_TIMEOUT_DETECTED(어댑터 전체 재설정을 나타내기 위해) 또는 VIDEO_ENGINE_TIMEOUT_DETECTED(실제 어댑터 내에서 하나 이상의 노드의 재설정을 나타내기 위해 Windows 8 시작)으로 설정된 경우 드라이버는 DxgkDdiCollectDbgInfo가 페이징 가능하도록 해야 합니다. 는 IRQL = PASSIVE_LEVEL 실행되며 동기화 0 수준을 지원합니다.

자세한 내용은 Windows 8 TDR 변경 내용을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
헤더 d3dkmddi.h
IRQL PASSIVE_LEVEL

참고 항목

DXGKARG_COLLECTDBGINFO

DxgkDdiAddDevice

DxgkDdiResetFromTimeout