Bagikan melalui


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

Lihat juga

DXGKARGCB_DISCONNECTDOORBELL

DxgkDdiConnectDoorbell