DXGKCB_DISCONNECTDOORBELL fungsi panggilan balik (d3dkmddi.h)
Penting
Beberapa informasi berkaitan dengan produk prarilis yang mungkin dimodifikasi secara substansial sebelum dirilis secara komersial. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
KMD memanggil DxgkCbDisconnectDoorbell untuk memberi tahu Dxgkrnl bahwa KMD perlu memutuskan bel pintu yang terhubung sebelumnya dari antrean perangkat keras.
Sintaks
DXGKCB_DISCONNECTDOORBELL DxgkcbDisconnectdoorbell;
NTSTATUS DxgkcbDisconnectdoorbell(
INOUT_PDXGKARGCB_DISCONNECTDOORBELL pArgs
)
{...}
Parameter
pArgs
[in] Arahkan ke struktur DXGKARGCB_DISCONNECTDOORBELL yang menjelaskan bel pintu untuk memutuskan sambungan.
Menampilkan nilai
DxgkCbDisconnectDoorbell mengembalikan STATUS_INVALID_PARAMETER jika Dxgkrnl tidak dapat menemukan hDoorbell terkait untuk hHwQueue, atau jika DisconnectReason bukan salah satu nilai D3DDDI_DOORBELLSTATUS_DISCONNECTED_XXX . Dalam semua kasus lain, fungsi ini berhasil, bahkan ketika bel pintu sudah terputus.
Keterangan
KMD memanggil fungsi ini untuk memberi tahu Dxgkrnl ketika perlu memutuskan bel pintu. KMD harus mempertimbangkan alamat bel pintu fisik terputus hanya setelah kembali dari panggilan balik ini.
Dxgkrnl membuka peta alamat virtual dan menandai bel pintu sebagai terputus. Secara khusus, Dxgkrnl melakukan langkah-langkah berikut untuk memutuskan bel pintu:
- Memutar mode pengguna DoorbellCpuVirtualAddress ke halaman dummy sehingga UMD tidak dapat lagi menulis ke lokasi bel pintu fisik.
- Menulis DisconnectReason ke DoorbellStatusCpuVirtualAddress sehingga UMD tahu bahwa bel pintu terputus dan alasannya.
Untuk informasi selengkapnya, lihat Pengiriman kerja mode pengguna.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 11, versi 24H2 (WDDM 3.2) |
Header | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |