DXGKDDI_COLLECTDIAGNOSTICINFO fungsi panggilan balik (dispmprt.h)
Rutinitas panggilan balik DxgkDdiCollectDiagnosticInfo mengumpulkan informasi driver privat karena alasan yang ditentukan oleh DXGK_DIAGNOSTICINFO_TYPE.
Di Windows 10, versi 1903, driver akan dipanggil untuk mengumpulkan informasi pribadi jika fungsi memanggil DxgkDdiAddDevice atau DxgkDdiStartDevice gagal.
Sintaksis
DXGKDDI_COLLECTDIAGNOSTICINFO DxgkddiCollectdiagnosticinfo;
NTSTATUS DxgkddiCollectdiagnosticinfo(
[in] IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
[in, out] INOUT_PDXGKARG_COLLECTDIAGNOSTICINFO pCollectDiagnosticInfo
)
{...}
Parameter
[in] PhysicalDeviceObject
Penunjuk ke objek perangkat fisik (PDO) yang mengidentifikasi adaptor tampilan.
[in, out] pCollectDiagnosticInfo
Penunjuk ke struktur DXGKARG_COLLECTDIAGNOSTICINFO yang menjelaskan informasi yang dikumpulkan oleh driver.
Mengembalikan nilai
Mengembalikan STATUS_SUCCESS jika informasi data privat berhasil dikumpulkan. Jika tidak, kode kesalahan akan ditampilkan seperti salah satu dari berikut ini.
Kode Kesalahan | Arti |
---|---|
STATUS_DRIVER_INTERNAL_ERROR | Kesalahan SW generik terjadi di dalam driver. |
STATUS_ACCESS_DENIED | Perangkat keras saat ini sedang digunakan oleh utas lain dan DDI ini tidak bisa mendapatkan akses ke utas tersebut. |
STATUS_DEVICE_HARDWARE_ERROR | Terjadi kesalahan HW generik. |
STATUS_DEVICE_POWERED_OFF | Perangkat dimatikan. |
Komentar
Fungsi ini dipanggil pada tingkat PASSIVE, kapan saja di antara panggilan ke DxgkDdiAddDevice dan DxgkDdiStartDevice, dan harus mendukung sinkronisasi tingkat nol. Data yang dikumpulkan tidak boleh berisi informasi pengguna privat apa pun.
Driver WDDM 2.7 dan yang lebih baru diperlukan untuk mendukung jenis enum DXGK_DI_BLACKSCREENDXGK_DIAGNOSTICINFO_TYPE untuk pengumpulan data kotak hitam layar hitam.
Untuk skenario layar hitam, OS akan terlebih dahulu mengumpulkan data kotak putih dari driver dengan memanggil DxgkDdiGetDisplayStateNonIntrusive dan DxgkDdiGetDisplayStateIntrusive sebelum memanggil DDI ini untuk mengumpulkan informasi kotak hitam.
Disarankan untuk menggunakan pCollectDiagnosticInfo->BucketingString untuk mem-bucketisasi data kotak hitam jika memungkinkan. Jika ukuran buffer input BufferSizeIn tidak cukup untuk semua data kotak hitam, driver harus membuat tradeoff mereka sendiri untuk meninggalkan data yang paling tidak penting dalam sebagian besar analisis akar penyebab layar hitam.
Persyaratan
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows 10, versi 1903 |
Header |
dispmprt.h |
IRQL | PASSIVE_LEVEL |