ブルースクリーンエラーのチェック|パソコントラブル出張修理
TOP > 技術情報 > ブルースクリーン > 0x000000E6 DRIVER_VERIFIER_DMA_VIOLATION
STOP:0x000000E6 DRIVER_VERIFIER_DMA_VIOLATIONエラーの概要です。
これは、すべてのDriver Verifier のDMA検証違反のバグチェックコードです。
DRIVER_VERIFIER_DMA_VIOLATIONパラメータ
以下のパラメータがブルースクリーンに表示されます。
関連のあるパラメータはパラメータ1です。 このパラメータは違反を識別します。
デバッガがアタッチされている場合、情報メッセージがデバッガに表示されます。
第一パラメータ | エラーの原因 |
---|---|
0x00 | このコードは、エラーの2種類を表すことができます。 1:ドライバはマップ・レジスタ・ファイルの最後にあまりにも多くのバイトをフラッシュしようとしました。 バイト数は、許可しようとしたバイト数が表示されます。 2:Windowsは連続したマップレジスタが不足しています。 マップの数は必要に応じて登録し、連続したマップレジスタの最大ブロックが表示されます。 |
0x01 | パフォーマンスカウンタは減少しています。カウンターの古い値と新しい値が表示されます。 |
0x02 | パフォーマンスカウンタはあまりに速く増加しています。カウンタの値がデバッガに表示されます。 |
0x03 | ドライバは、あまりにも多くの共通のDMAバッファを解放しました。 通常これは、それが同じバッファを2回解放を意味します。 |
0x04 | ドライバは、あまりにも多くのDMAチャネルアダプタを解放した。 通常これはそれが同じアダプターのチャネルを2回解放を意味します。 |
0x05 | ドライバがあまりにも多くDMAマップレジスタを解放しました。 通常これは、それが2回登録同じマップを解放したことを意味します。アクティブ・マップ・レジスタの数が表示されます。 |
0x06 | ドライバはあまりにも多くのDMAスキャッタ/ギャザーリストを解放しました。 これは通常、同じ散乱/リスト2回の収集を解放しました。リストの数が割り当てられ、解放されたリストの数が表示されます。 |
0x07 | ドライバは、すべての一般的なバッファを解放せずにアダプターを解放しようとしました。 アダプタアドレス、残りのバッファの数が表示されます。 |
0x08 | ドライバーは最初にすべてのアダプター・チャネル、共通のバッファ、 または散布図/リストを集めるを解放せずにアダプターを解放しようとしました。アダプタアドレス、残りのアイテムの数が表示されます。 |
0x09 | ドライバは、最初にすべてのマップレジスタを解放せずにアダプターを解放しようとしました。 アダプタアドレス、残りのマップレジスタの数が表示されます。 |
0x0A | ドライバは最初にそのすべてのスキャッタ/ギャザーリストを解放せずにアダプターを解放しようとしました。 アダプタアドレスとスキャッタ/ギャザーリストの残りの数が表示されます。 |
0x0B | HV_TOO_MANY_ADAPTER_CHANNELSTheドライバが同時にあまりに多くのアダプタのチャネルを割り当てています。 (1つのアダプタだけチャネルはアダプタごとに許可されています。) |
0x0C | ドライバは、同時にあまりにも多くのマップレジスタを割り当てることを試みました。 番号が要求され、許可された番号が表示されます。 |
0x0D | ドライバは、そのアダプターのバッファをフラッシュしていませんでした。 ドライバがマップしようとしましたが、許可される最大バイト数が表示されているバイト数。 |
0x0E | ドライバは、バッファをロックせずにDMA転送を試してみました。 問題のバッファは、ページメモリにあった。 MDLのアドレスが表示されます。 |
0x0F | ドライバやハードウェアは、その割り当てられたDMAバッファの外に書いています。 エラー(オーバーランまたはアンダーラン)の性質は、同様に関連するアドレスとして表示されます。 |
0x10 | ドライバは、いくつかはまだマップされていたながらそのマップレジスタを解放しようとしました。 マップの数はまだマップされてが表示され登録されます。 |
0x11 | ドライバは、アダプタにはあまりにも多くの未解決の参照カウントを持っています。 参照カウントの数とアダプタのアドレスが表示されます。 |
0x13 | ドライバが不適切なIRQLでのDMAルーチンを呼び出しました。必要なIRQLと実際のIRQLが表示されます。 |
0x14 | ドライバが不適切なIRQLでのDMAルーチンを呼び出しました。必要なIRQLと実際のIRQLが表示されます。 |
0x15 | ドライバは、あまりにも多くのマップレジスタを割り当てることを試みました。 番号が要求され、許可された番号が表示されます。 |
0x16 | ドライバがマップされていないバッファをフラッシュしようとしました。バッファのアドレスが表示されます。 |
0x18 | ドライバは既に解放され、もはや存在しませんでしたアダプタを使用することによりDMA動作を試してみました。 アダプタのアドレスが表示されます。 |
0x19 | ドライバはHALのルーチンにヌルDMA_ADAPTERの値を渡しました。 |
0x1B | ドライバはHALのルーチンへのアドレスとMDLを通過しました。ただし、このアドレスはMDLの境界内にありません。 アドレスが渡され、MDLのアドレスが表示されます。 |
0x1D | ドライバがすでにマップされたアドレス範囲をマップしようとしました。 アドレスの範囲とその範囲の現在のマッピングが表示されます。 |
0x1E | ドライバはHalGetAdapterを呼びました。 この関数は廃止されています。あなたが代わりにIoGetDmaAdapterを使用する必要があります。 |
0x1F | いずれかの第一MDLの前、または最初のMDLの終了後、 またはMDLバッファより長いとMDL内のページ境界を越える転送長を使用してHV_BAD_MDLTheドライバが無効なシステムのアドレスを参照しました。 無効なアドレスと最初のMDLアドレス、またはMDLアドレスと余分な転送長のいずれかが表示されます。 |
0x20 | ドライバがマップされていないマップ・レジスタをフラッシュしようとしました。 マップレジスタベース、フラッシングアドレス、およびMDLが表示されます。 |
0x21 | ドライバは、転送のための0長のバッファをマップしようとしました。 |
原因
原因の説明のためのパラメータセクション内の各コードの説明を参照してください。
※この内容は、Microsoftのバグチェックコードの解説を参考にして要点をまとめたものとなります。
翻訳内容は必ずしも正しいとは限りませんのでご容赦願います。
詳しい内容は
http://msdn.microsoft.com/en-us/library/windows/hardware/ff560341(v=vs.85).aspxをご覧下さい。