ブルースクリーンエラーのチェック|パソコントラブル出張修理
TOP > 技術情報 > ブルースクリーン > 0x00000018 REFERENCE_BY_POINTER
STOP:0x00000018 REFERENCE_BY_POINTERエラーの概要です。
これは、オブジェクトの参照カウントが現状のオブジェクト時に不正であることを示します。
REFERENCE_BY_POINTERパラメータ
以下のパラメータがブルースクリーンに表示されます。
第一パラメータ
参照カウントオブジェクトのオブジェクトタイプが低下している
第二パラメータ
参照カウントが低下しているオブジェクト
第三パラメータ
予約済み
第四パラメータ
予約済み
原因
ドライバは、オブジェクトへのポインタを使用するたびに、参照カウントを増やすためにカーネルルーチンを呼び出します。
ドライバはポインタを使用して行われた場合、ドライバによって参照カウントを1つ減少させるために別のカーネル・ルーチンを呼び出します。
ドライバが増加(基準)と減少(間接参照)参照カウントとそのルーチンの呼び出しに一致する必要があります。
このバグチェックは、オブジェクトの参照カウントの矛盾によって引き起こされます。
典型的には、矛盾が余分な呼び出しの参照を解除するオブジェクトを作って、何回もオブジェクトの参照カウントを減少ドライバによって引き起こされます。
オブジェクトの参照カウントがオブジェクトへのオープンハンドルがまだ存在している間にゼロになった場合、
このバグチェックが発生する可能性があります。
また、オブジェクトの参照カウントがゼロ未満に低下した時に、オブジェクトへのオープンハンドルがあるかどうかに関係なく発生する場合があります。
※この内容は、Microsoftのバグチェックコードの解説を参考にして要点をまとめたものとなります。
翻訳内容は必ずしも正しいとは限りませんのでご容赦願います。
詳しい内容は
http://msdn.microsoft.com/en-us/library/windows/hardware/ff557386(v=vs.85).aspxをご覧下さい。