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를 호출하기 전에 DxgkDdiGetDisplayStateNonIntrusive 및 DxgkDdiGetDisplayStateIntrusive 를 호출하여 드라이버에서 화이트 박스 데이터를 수집합니다.
가능한 경우 pCollectDiagnosticInfo->BucketingString을 사용하여 블랙 박스 데이터를 버킷팅하는 것이 좋습니다. BufferSizeIn 입력 버퍼의 크기가 모든 블랙 박스 데이터에 충분하지 않은 경우 드라이버는 대부분의 블랙 스크린 근본 원인 분석에서 가장 중요한 데이터를 제외할 때 자체 절충을 해야 합니다.
요구 사항
| 지원되는 최소 클라이언트 | Windows 10, 버전 1903 |
| 헤더 | dispmprt.h |
| IRQL | PASSIVE_LEVEL |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기