DXGKDDI_COLLECTDIAGNOSTICINFO 콜백 함수(dispmprt.h)

DxgkDdiCollectDiagnosticInfo 콜백 루틴은 DXGK_DIAGNOSTICINFO_TYPE 지정된 이유로 개인 드라이버 정보를 수집합니다.

Windows 10 버전 1903에서는 함수가 DxgkDdiAddDevice 또는 DxgkDdiStartDevice를 호출하지 못한 경우 개인 정보를 수집하기 위해 드라이버 호출됩니다.

구문

DXGKDDI_COLLECTDIAGNOSTICINFO DxgkddiCollectdiagnosticinfo;

NTSTATUS DxgkddiCollectdiagnosticinfo(
  [in]      IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
  [in, out] INOUT_PDXGKARG_COLLECTDIAGNOSTICINFO pCollectDiagnosticInfo
)
{...}

매개 변수

[in] PhysicalDeviceObject

디스플레이 어댑터를 식별하는 PDO(물리적 디바이스 개체)에 대한 포인터입니다.

[in, out] pCollectDiagnosticInfo

드라이버에서 수집한 정보를 설명하는 DXGKARG_COLLECTDIAGNOSTICINFO 구조체에 대한 포인터입니다.

반환 값

개인 데이터 정보가 성공적으로 수집되었는지 STATUS_SUCCESS 반환합니다. 그렇지 않으면 다음 중 하나와 같은 오류 코드를 반환합니다.

오류 코드 의미
STATUS_DRIVER_INTERNAL_ERROR 드라이버 내에서 일반적인 SW 오류가 발생했습니다.
STATUS_ACCESS_DENIED 하드웨어는 현재 다른 스레드에서 사용되고 있으며 이 DDI는 액세스할 수 없습니다.
STATUS_DEVICE_HARDWARE_ERROR 일반적인 HW 오류가 발생했습니다.
STATUS_DEVICE_POWERED_OFF 디바이스 전원이 꺼져 있습니다.

설명

이 함수는 DxgkDdiAddDevice 및 DxgkDdiStartDevice 호출 사이에 언제든지 PASSIVE 수준에서 호출되며 동기화 0 수준을 지원해야 합니다. 수집된 데이터에는 개인 사용자 정보가 포함되어서는 안 됩니다.

WDDM 2.7 이상 드라이버는 블랙 스크린 블랙 박스 데이터 수집에 대 DXGK_DI_BLACKSCREEN DXGK_DIAGNOSTICINFO_TYPE 열거형 형식을 지원 해야 합니다.

검은색 화면 시나리오의 경우 OS는 먼저 이 DDI를 호출하기 전에 DxgkDdiGetDisplayStateNonIntrusiveDxgkDdiGetDisplayStateIntrusive 를 호출하여 드라이버에서 화이트 박스 데이터를 수집합니다.

가능한 경우 pCollectDiagnosticInfo-BucketingString>을 사용하여 블랙 박스 데이터를 버킷팅하는 것이 좋습니다. BufferSizeIn 입력 버퍼의 크기가 모든 블랙 박스 데이터에 충분하지 않은 경우 드라이버는 대부분의 블랙 스크린 근본 원인 분석에서 가장 중요한 데이터를 제외할 때 자체 절충을 해야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 10, 버전 1903
헤더 dispmprt.h
IRQL PASSIVE_LEVEL

참고 항목

DXGKARG_COLLECTDIAGNOSTICINFO

DxgkDdiAddDevice

DxgkDdiStartDevice