ブルースクリーンエラーのチェック|パソコントラブル出張修理
TOP > 技術情報 > ブルースクリーン > 0x00000096 INVALID_WORK_QUEUE_ITEM
STOP:0x00000096 INVALID_WORK_QUEUE_ITEMエラーの概要です。
これは、キューのエントリがNULLポインタが含まれていることが削除されたことを示しています。
INVALID_WORK_QUEUE_ITEMパラメータ
以下のパラメータがブルースクリーンに表示されます。
第一パラメータ
FLINKまたは点滅フィールドがNULLであるキューエントリのアドレス。
第二パラメータ
参照されているキューのアドレス。 通常、このキューはExWorkerQueueです。
第三パラメータ
ExWorkerQueue配列のベースアドレス。
(このアドレスは、問題となっているキューは確かにExWorkerQueueであるかどうかを判断するのに役立ちます。
キューがExWorkerQueueである場合、このパラメーターからのオフセットキューを隔離します。)
第四パラメータ
キューと仮定するとExWorkerQueueの場合、この値は作業項目が有効であった場合に呼び出されていたワーカールーチンのアドレスです。
(あなたがワーカーキューを悪用されているドライバを分離するためにこのアドレスを使用することができます。)
原因
KeRemoveQueueは、そのFLINKまたは点滅フィールドがNULLであるキューのエントリを削除したときINVALID_WORK_QUEUE_ITEMバグチェックが発生します。
任意のキューの誤使用が原因でこのエラーが発生することがあります。
ワーカースレッドの作業項目が誤用されているため、一般的にこのエラーが発生します。
キュー上のエントリリストに一度だけ挿入することができます。
アイテムはキューから削除されると、そのFLINKフィールドはNULLに設定されます。
次に、この項目は二度目に削除されたときにこのバグチェックが発生します。
ほとんどの状況では、参照されているキューはExWorkerQueue(エグゼクティブワーカーキュー)です。
エラーの原因となったドライバを識別しやすくするために、パラメータ4は、
この作業項目が有効であった場合に呼び出されていたワーカールーチンのアドレスが表示されます。
※この内容は、Microsoftのバグチェックコードの解説を参考にして要点をまとめたものとなります。
翻訳内容は必ずしも正しいとは限りませんのでご容赦願います。
詳しい内容は
http://msdn.microsoft.com/en-us/library/windows/hardware/ff559300(v=vs.85).aspxをご覧下さい。