Share via


Controllo bug 0x96: INVALID_WORK_QUEUE_ITEM

Il controllo dei bug INVALID_WORK_QUEUE_ITEM ha un valore di 0x00000096. Questo controllo di bug indica che una voce della coda è stata rimossa che conteneva un puntatore NULL .

Importante

Questo articolo è destinato ai programmatori. Se si è un cliente che ha ricevuto un codice di errore della schermata blu durante l'uso del computer, vedere Risolvere gli errori della schermata blu.

parametri INVALID_WORK_QUEUE_ITEM

Parametro Descrizione

1

Indirizzo della voce della coda il cui campo flink o blink è NULL.

2

Indirizzo della coda a cui viene fatto riferimento. In genere, questa coda è un oggetto ExWorkerQueue.

3

Indirizzo di base della matrice ExWorkerQueue . Questo indirizzo consente di determinare se la coda in questione è effettivamente un oggetto ExWorkerQueue. Se la coda è un oggetto ExWorkerQueue, l'offset da questo parametro isola la coda.

4

Supponendo che la coda sia un oggetto ExWorkerQueue, questo valore è l'indirizzo della routine di lavoro che sarebbe stato chiamato se l'elemento di lavoro fosse valido. È possibile usare questo indirizzo per isolare il driver che utilizza erroneamente la coda di lavoro.

Causa

Il controllo dei bug INVALID_WORK_QUEUE_ITEM si verifica quando KeRemoveQueue rimuove una voce della coda il cui campo flink o blink è NULL.

Qualsiasi uso improprio della coda può causare questo errore. Questo errore si verifica in genere perché gli elementi di lavoro del thread di lavoro vengono usati in modo improprio.

Una voce in una coda può essere inserita nell'elenco una sola volta. Quando un elemento viene rimosso da una coda, il relativo campo flink viene impostato su NULL. Quindi, quando questo elemento viene rimosso la seconda volta, si verifica questo controllo di bug.

Nella maggior parte dei casi, la coda a cui viene fatto riferimento è una coda exWorkerQueue (coda di lavoro esecutivo). Per identificare il driver che ha causato l'errore, il parametro 4 visualizza l'indirizzo della routine di lavoro che sarebbe stato chiamato se l'elemento di lavoro fosse valido. Tuttavia, se la coda a cui viene fatto riferimento non è un oggetto ExWorkerQueue, questo parametro non è utile.