Partilhar via


0x96 de Verificação de Bugs: INVALID_WORK_QUEUE_ITEM

O bug INVALID_WORK_QUEUE_ITEM marcar tem um valor de 0x00000096. Esse bug marcar indica que uma entrada de fila foi removida que continha um ponteiro NULL.

Importante

Este artigo é para programadores. Se você for um cliente que recebeu um código de erro de tela azul ao usar o computador, consulte Solucionar erros de tela azul.

Parâmetros de INVALID_WORK_QUEUE_ITEM

Parâmetro Descrição

1

O endereço da entrada da fila cujo flink ou campo de piscar é NULL.

2

O endereço da fila que está sendo referenciada. Normalmente, essa fila é uma ExWorkerQueue.

3

O endereço base da matriz ExWorkerQueue . (Esse endereço ajuda você a determinar se a fila em questão é de fato um ExWorkerQueue. Se a fila for um ExWorkerQueue, o deslocamento desse parâmetro isolará a fila.)

4

Supondo que a fila seja um ExWorkerQueue, esse valor é o endereço da rotina de trabalho que teria sido chamada se o item de trabalho tivesse sido válido. (Você pode usar esse endereço para isolar o driver que está usando incorretamente a fila de trabalho.)

Causa

O bug INVALID_WORK_QUEUE_ITEM marcar ocorre quando KeRemoveQueue remove uma entrada de fila cujo campo flink ou blink é NULL.

Qualquer uso indevido de fila pode causar esse erro. Mas normalmente esse erro ocorre porque os itens de trabalho do thread de trabalho são mal utilizados.

Uma entrada em uma fila pode ser inserida na lista apenas uma vez. Quando um item é removido de uma fila, seu campo de flink é definido como NULL. Em seguida, quando esse item é removido pela segunda vez, esse bug marcar ocorre.

Na maioria das situações, a fila que está sendo referenciada é uma ExWorkerQueue (fila de trabalho executivo). Para ajudar a identificar o driver que causou o erro, o Parâmetro 4 exibe o endereço da rotina de trabalho que teria sido chamado se esse item de trabalho fosse válido. No entanto, se a fila que está sendo referenciada não for um ExWorkerQueue, esse parâmetro não será útil.