DXGKDDI_COLLECTDBGINFO fungsi panggilan balik (d3dkmddi.h)
Fungsi DxgkDdiCollectDbgInfo menghasilkan informasi driver untuk laporan debug.
Sintaks
DXGKDDI_COLLECTDBGINFO DxgkddiCollectdbginfo;
NTSTATUS DxgkddiCollectdbginfo(
[in] IN_CONST_HANDLE hAdapter,
[in/out] IN_CONST_PDXGKARG_COLLECTDBGINFO pCollectDbgInfo
)
{...}
Parameter
[in] hAdapter
Handel ke blok konteks yang terkait dengan adaptor tampilan. Tampilan miniport (KMD) sebelumnya menyediakan handel ini ke Dxgkrnl di parameter output MiniportDeviceContext dari DxgkDdiAddDevice.
[in/out] pCollectDbgInfo
Penunjuk ke struktur DXGKARG_COLLECTDBGINFO yang berisi informasi untuk laporan debug.
Menampilkan nilai
DxgkDdiCollectDbgInfo mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
STATUS_SUCCESS | DxgkDdiCollectDbgInfo berhasil menghasilkan informasi driver untuk laporan debug; ATAU, OS mengabaikan konten dalam buffer yang dituju pBuffer dan tidak menambahkan informasi dari DxgkDdiCollectDbgInfo ke laporan debug. |
STATUS_NO_MEMORY | DxgkDdiCollectDbgInfo tidak dapat mengalokasikan memori yang diperlukan untuk menyelesaikannya. |
STATUS_UNSUCCESSFUL | Kesalahan lain mencegah driver mengumpulkan informasi debug yang valid. |
Keterangan
Dxgkrnl memanggil fungsi DxgkDdiCollectDbgInfo KMD setiap kali OS akan menghasilkan laporan debug terkait driver. DxgkDdiCollectDbgInfo mungkin dipanggil segera sebelum Timeout Detection and Recovery (TDR) berfungsi atau segera sebelum pemeriksaan bug OS. Meskipun DxgkDdiCollectDbgInfo harus kembali secepat mungkin, tidak ada jumlah waktu maksimum yang ditentukan sistem yang dapat dihabiskan driver dalam fungsi ini.
KMD harus mengumpulkan informasi debug. Ketika DxgkDdiCollectDbgInfo dipanggil, driver menerima kode pemeriksaan bug di pCollectDbgInfo-Reason> yang menunjukkan jenis informasi yang diperlukan untuk laporan debug. Driver menyalin informasi debug yang diperlukan ke dalam buffer yang ditunjuk pCollectDbgInfo-pBuffer>. Jumlah maksimum byte informasi yang dapat disalin driver ditentukan oleh pCollectDbgInfo-BufferSize>.
DxgkDdiCollectDbgInfo umumnya berjalan pada IRQL yang tidak terdefinisi. Namun, jika pCollectDbgInfo-Reason> diatur ke VIDEO_TDR_TIMEOUT_DETECTED (untuk menunjukkan reset di seluruh adaptor) atau VIDEO_ENGINE_TIMEOUT_DETECTED (tersedia dimulai dengan Windows 8 untuk menunjukkan reset satu atau beberapa node dalam adaptor fisik), driver harus memastikan bahwa DxgkDdiCollectDbgInfo dapat dipaginasi, berjalan di IRQL = PASSIVE_LEVEL, dan mendukung tingkat nol sinkronisasi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Target Platform | Desktop |
Header | d3dkmddi.h |
IRQL | PASSIVE_LEVEL (Lihat Keterangan) |