Bagikan melalui


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)

Lihat juga

DXGKARG_COLLECTDBGINFO

DxgkDdiAddDevice

DxgkDdiResetFromTimeout