Bagikan melalui


0x96 Pemeriksaan Bug: INVALID_WORK_QUEUE_ITEM

Pemeriksaan bug INVALID_WORK_QUEUE_ITEM memiliki nilai 0x00000096. Pemeriksaan bug ini menunjukkan bahwa entri antrean telah dihapus yang berisi penunjuk NULL .

Penting

Artikel ini untuk programmer. Jika Anda adalah pelanggan yang telah menerima kode kesalahan layar biru saat menggunakan komputer Anda, lihat Memecahkan masalah kesalahan layar biru.

Parameter INVALID_WORK_QUEUE_ITEM

Parameter Deskripsi

1

Alamat entri antrean yang bidang flink atau blink-nyaadalah NULL.

2

Alamat antrean yang sedang direferensikan. Biasanya, antrean ini adalah ExWorkerQueue.

3

Alamat dasar array ExWorkerQueue . (Alamat ini membantu Anda menentukan apakah antrean yang dimaksud memang exWorkerQueue. Jika antrean adalah ExWorkerQueue, offset dari parameter ini akan mengisolasi antrean.)

4

Dengan asumsi antrean adalah ExWorkerQueue, nilai ini adalah alamat rutinitas pekerja yang akan dipanggil jika item kerja telah valid. (Anda dapat menggunakan alamat ini untuk mengisolasi driver yang menyalahgunakan antrean kerja.)

Penyebab

Pemeriksaan bug INVALID_WORK_QUEUE_ITEM terjadi ketika KeRemoveQueue menghapus entri antrean yang bidang flink atau blink-nyaADALAH NULL.

Setiap penyalahgunaan antrean dapat menyebabkan kesalahan ini. Tetapi biasanya kesalahan ini terjadi karena item pekerjaan utas pekerja disalahgunakan.

Entri pada antrean hanya dapat disisipkan dalam daftar satu kali. Saat item dihapus dari antrean, bidang flink-nya diatur ke NULL. Kemudian, ketika item ini dihapus untuk kedua kalinya, pemeriksaan bug ini terjadi.

Dalam kebanyakan situasi, antrean yang sedang direferensikan adalah ExWorkerQueue (antrean pekerja eksekutif). Untuk membantu mengidentifikasi driver yang menyebabkan kesalahan, Parameter 4 menampilkan alamat rutinitas pekerja yang akan dipanggil jika item kerja ini valid. Namun, jika antrean yang sedang direferensikan bukan ExWorkerQueue, parameter ini tidak berguna.