ブルースクリーンエラーのチェック|パソコントラブル出張修理
TOP > 症状チェック > ブルースクリーン > 0x000000C9 DRIVER_VERIFIER_IOMANAGER_VIOLATION
STOP:0x000000C9 DRIVER_VERIFIER_IOMANAGER_VIOLATIONエラーの概要です。
これは、すべてのDriver Verifierは、I/O検証違反のバグチェックコードです。
DRIVER_VERIFIER_IOMANAGER_VIOLATIONパラメータ
以下のパラメータがブルースクリーンに表示されます。
Driver Verifierのがアクティブになっていると、I/Oの検証を選択した場合、様々なI/O違反がこのバグチェックを発生します。
パラメータ1は違反のタイプを識別します。
第一パラメータ | 第二パラメータ | 第三パラメータ | 第四パラメータ | エラーの原因 |
---|---|---|---|---|
0x01 | IRPのアドレスが解放される | 0 | 0 | ドライバは、型がIO_TYPE_IRPなオブジェクトを解放しようとしました。 |
0x02 | IRPのアドレスが解放される | 0 | 0 | ドライバはまだスレッドに関連付けられているIRPを解放しようとしました。 |
0x03 | IRPのアドレスが送信されている | 0 | 0 | ドライバーはIRP_TYPEと等しくないIRP TypeをIoCallDriverに渡しました。 |
0x04 | デバイスオブジェクトのアドレス | 0 | 0 | ドライバーは無効のデバイスオブジェクトをIoCallDriverに渡しました。 |
0x05 | 問題のあるドライバに関連付けられているデバイスオブジェクトのアドレス | IoCallDriver前IRQL | IoCallDriver後IRQL | IRQLは、ドライバのディスパッチルーチンの呼び出し中に変更されました。 |
0x06 | IRPの状態 | 完成するIRPのアドレス | 0 | ドライバ(または-1に等しい)保留中としてマーク状態でIoCompleteRequestをコールしました。 |
0x07 | キャンセルルーチンのアドレス | I完成するIRPのアドレス | 0 | そのキャンセルルーチンがまだ設定されているとき、ドライバーがIoCompleteRequestをコールしました。 |
0x08 | デバイスオブジェクトのアドレス | IRPの主要な機能コード | 例外ステータスコード | ドライバはIoBuildAsynchronousFsdRequestに無効なバッファを渡してしまいました。 |
0x09 | デバイスオブジェクトのアドレス | I/Oコントロールコード | 例外ステータスコード | ドライバはIoBuildDeviceIoControlRequestに無効なバッファを渡してしまいました。 |
0x0A | デバイスオブジェクトのアドレス | 0 | 0 | ドライバはIoInitializeTimerにすでに初期化タイマー付きデバイスオブジェクトを渡しました。 |
0x0C | I/Oステータスブロックのアドレス | 0 | 0 | ドライバはIRPにI/Oステータスブロックを渡されますが、 このブロックは既に巻かれていない過去のその時点を持ってスタック上に割り当てられます。 |
0x0D | ユーザーイベントオブジェクトのアドレス | 0 | 0 | ドライバはIRPにユーザーイベントを通過しましたが、 そのポイントの先で既に解かれたスタックの上にこのイベントを割り当てます。 |
0x0E | 現在のIRQL | IRPのアドレス | 0 | ドライバは、IRQL> DISPATCH_LEVELでIoCompleteRequestをコールしました。 |
0x0F | IRPが送られているために、デバイスオブジェクトのアドレス | IRPへのポインタ | ファイルオブジェクトへのポインタ | ドライバは、閉じられたファイルオブジェクトに要求を作成送信、またはキャンセル、オープンを持っていた。 |
前の表に記載されているエラーに加えて、Driver Verifierはシステムを停止させるI/Oの検証エラーの数がありますが、
これは実際にバグチェックされません。
これらのエラーは、クラッシュダンプファイルおよびカーネルデバッガでブルースクリーンに表示されるべきメッセージを引き起こします。
これらはクラッシュダンプファイルに表示されますが、これらのエラーが発生すると、
16進数のバグチェックコード0xC9とバグチェック文字列DRIVER_VERIFIER_IOMANAGER_VIOLATIONは、
ブルースクリーン、デバッガでは表示されません。
ブルースクリーンには、次のデータが表示されます。
・メッセージのIOシステム検証エラーが発生しました。
・XXXが特定のエラーを表す16進コードのメッセージのWDMドライバのエラー(I/Oエラーコードとその意味の一覧については、以下の表を参照してください。)
・エラーの原因となったドライバの名前
・エラーが検出されたドライバのコードのアドレス(パラメータ2)
・IRPへのポインタ(パラメータ3)
・デバイスオブジェクトへのポインタ(パラメータ4)
カーネルモードのクラッシュダンプが有効化されている場合は、以下の情報がクラッシュダンプファイルに表示されます
・メッセージバグチェック0xC9(DRIVER_VERIFIER_IOMANAGER_VIOLATION)
・進数のI / Oエラーコード(I/Oエラーコードとその意味の一覧については以下の表を参照してください。)
・エラーが検出されたドライバのコードのアドレス
・IRPへのポインタ
・デバイスオブジェクトへのポインタ
カーネルデバッガがこの違反を起こしているシステムに接続されている場合、次の情報がデバッガに送信されます。
・エラーの重大度の評価とともに、メッセージのWDMドライバのエラー
・エラーの原因となったドライバの名前
・このエラーの原因を説明する説明文字列。多くの場合、追加情報はIRPへのポインタとして一緒に渡されます。
(これらの説明の文字列の一覧については、以下の表を参照して下さい。)
・アクションのクエリ。可能な応答は b(ブレーク)、I(無視する)、Z(ザップ)、r(削除)、または d(無効)です。
他のバグチェックがこのように無視することはできませんので注意してください。
I/Oの検証エラーの種は無視することができ、カーネルデバッガがアタッチされている場合でも、これらのエラーは無視することができます。
次の表は、I/Oの検証がレベル2に設定されている場合、Windows 2000ではこれらのエラーにのみ表示されます。
I/Oエラーコード | 重症度 | エラーの原因 |
---|---|---|
0x200 | 不明 | すべての未知のI/Oの検証エラー |
0x201 | 致命的なエラー | ドライバスタックでそれの下で別のデバイスがある間は、デバイスはデバイス自体を削除しています。 発信者が最初IoDetachDeviceを呼ぶのを忘れた、または下位のドライバーが誤って自分自身を削除したこの可能性があります。 |
0x202 | 致命的なエラー | ドライバは何にも接続されていないデバイスオブジェクトからデタッチしようとしました。 デタッチが同じデバイスオブジェクトで二回呼び出された場合に発生することがあります。(指定されたデバイスオブジェクト) |
0x203 | 致命的なエラー | ドライバはNULLにIRPにキャンセルルーチンを設定せずにIoCallDriverを呼びかけている。(IRPが指定されています。) |
0x204 | 致命的なエラー | 呼び出し側では、デバイスオブジェクトとしてNULLで渡されました。(IRPが指定されています。) |
0x205 | 致命的なエラー | 呼び出し元は、現在その下にキューイングされているIRPを転送しています。 このドライバでSTATUS_PENDING復帰コード処理IRPは壊れているようです。(IRPが指定されています。) |
0x206 | 致命的なエラー | 呼び出し側が間違ってIRPを(制御フィールドにゼロではない)転送しました。 ドライバはIoCopyCurrentIrpStackLocationToNextまたはIoSkipCurrentIrpStackLocationを使用する必要があります。(IRPが指定されています。) |
0x207 | 致命的なエラー | 呼び出し側は、手動でスタックをコピーしたと誤って上位層の完了ルーチンをコピーされています。 ドライバはIoCopyCurrentIrpStackLocationToNextを使用する必要があります。(IRPが指定されています。) |
0x208 | 致命的なエラー | このIRPはスタックの場所が不足しています。 誰かが別のスタックからこのIRPを転送している場合があります。(IRPが指定されています。) |
0x209 | 致命的なエラー | 呼び出し元は、現在、その下にキューイングされているIRPを完了しています。 このドライバでSTATUS_PENDING復帰コード処理IRPは壊れているようです。(IRPが指定されています。) |
0x20A | 致命的なエラー | IoFreeIrpの呼び出し側は、まだ使用されているIRPを解放しています。(指定されている使用中のオリジナルIRPとIRP)。 |
0x20B | 致命的なエラー | IoFreeIrpの呼び出し側は、まだ使用されているIRPを解放しています。(IRPが指定されています。) |
0x20C | 致命的なエラー | IoFreeIrpの呼び出し側は、まだスレッドに対してキューイングされているIRPを解放しています。(IRPが指定されています。) |
0x20D | 致命的なエラー | IoInitializeIrpの呼び出し元がIoAllocateIrpで割り当てられたIRPを可決しました。 |
0x20E | 非致命的なエラー | PNP IRPは、無効なステータスを持っています。 (すべてのPNP IRPは、そのステータスがSTATUS_NOT_SUPPORTEDに初期化されている必要があります。)(IRPが指定されています。) |
0x20F | 非致命的なエラー | パワーIRPは、無効なステータスを持っています。 (どのようなパワーIRPは、そのステータスがSTATUS_NOT_SUPPORTEDに初期化しておく必要があります。)(IRPが指定されています。) |
0x210 | 非致命的なエラー | WMI IRPは、無効なステータスを持っています。 (すべてのWMI IRPは、その状態がSTATUS_NOT_SUPPORTEDに初期化されている必要があります。)(IRPが指定されています。) |
0x211 | 非致命的なエラー | スタック内のデバイスオブジェクトをスキップして呼び出し元はIRPを転送しました。 呼び出し側は、おそらくPDOに代わりIoAttachDeviceToDeviceStackで返されたデバイスへのIRPを送信しています。(IRPが指定されています。) |
0x212 | 非致命的なエラー | 呼び出し元は、ゴミ箱に移動しているか、適切にIRPのスタックをコピーしていません。(IRPが指定されています。) |
0x213 | 非致命的なエラー | 呼び出し側は、それが理解していないIRPのstatusフィールドを変更しました。(IRPが指定されています。) |
0x214 | 非致命的なエラー | 呼び出し側は、それが理解していないIRPの情報フィールドを変更しました。(IRPが指定されています。) |
0x215 | 非致命的なエラー | IRP_MJ_PNPの非成功した非STATUS_NOT_SUPPORTED IRPの状態はスタックに渡されている。 PNPのIRPを完了する必要がありませんでした。(IRPが指定されています。) |
0x216 | 非致命的なエラー | 予め設定IRP_MJ_PNPステータスがSTATUS_NOT_SUPPORTEDに変換されています。(IRPが指定されています。) この故障状態は、オペレーティングシステムで使用するために予約されています。ドライバはこの値を使用してPnPのIRPを失敗することはできません。 |
0x217 | 非致命的なエラー | ドライバが必要なIRPを処理さ??れていません。 ドライバは、それが処理されたかどうかを示すためにIRPの状態を更新する必要があります。(IRPが指定されています。) |
0x218 | 非致命的なエラー | ドライバは別の場所で、スタック内の他のデバイスオブジェクト用に予約されてIRPに応えてきました。(IRPが指定されています。) |
0x219 | 非致命的なエラー | IRP_MJ_POWERの非成功した非STATUS_NOT_SUPPORTED IRPの状態はスタックに渡されています。 (IRPが指定されています)電源のIRPを完了する必要がありませんでした。 |
0x21A | 非致命的なエラー | 予め設定IRP_MJ_POWERステータスがSTATUS_NOT_SUPPORTEDに変換されています。(IRPが指定されています。) |
0x21B | 非致命的なエラー | ドライバが疑わしい状態を返しました。これはおそらくドライバの初期化されていない変数のバグが原因です。(IRPが指定されています。) |
0x21C | 非致命的なエラー | 呼び出し側は、IRPスタックをコピーされますが、完了ルーチンを設定していません。 これは非効率的である代わりIoSkipCurrentIrpStackLocationを使用しています 。(IRPが指定されています。) |
0x21D | 非致命的なエラー | IRPのディスパッチハンドラが適切に削除IRPを受信すると、その下のスタックから取り外されていません。 |
0x21E | 非致命的なエラー | IRPのディスパッチハンドラが適切に削除IRPを受信すると、そのデバイスオブジェクトを削除していません。 |
0x21F | 非致命的なエラー | ドライバが必要なIRP主要な関数のディスパッチルーチンを記入していません。 |
0x220 | 非致命的なエラー | IRP_MJ_SYSTEM_CONTROLはProviderId以外の誰かによって完成されたものです。 このIRPは以前に完了している必要があるか、受け継がれてきたはずです。 |
0x221 | 非致命的なエラー | PDOのIRPのディスパッチハンドラは、そのデバイスオブジェクトを削除しているが、 ハードウェアはバス関係クエリで行方不明と報告されていません。 |
0x222 | 非致命的なエラー | PDOはまだ生きている時のバスフィルタのIRPディスパッチハンドラは削除IRPを受信したときに外れました。 バスフィルタFastIoDetachコールバックでクリーンアップする必要があります。 |
0x223 | 非致命的なエラー | バス・フィルタのIRPディスパッチハンドラはそのデバイスオブジェクトを削除しましたがPDOはまだ存在しています。 バスフィルタはFastIoDetachコールバックでクリーンアップする必要があります。 |
0x224 | 非致命的なエラー | IRPのディスパッチハンドラはIRPのIoStatus.Statusフィールドと矛盾している状態を返しました。 |
0x225 | 非致命的なエラー | IRPのディスパッチハンドラが不正です(0xFFFFFFFF)のステータスが返されました。 これはおそらく、初期化されていないスタック変数が原因です。 このエラーをデバッグするには、使用Ln(一番近いシンボル)指定されたアドレスを指定してコマンドを実行してください。 |
0x226 | 非致命的なエラー | IRPのディスパッチハンドラは、このIRPを渡したり、完了せずに戻ってきたかまたは誰かがSTATUS_PENDINGを返すのを忘れていました。 |
0x227 | 非致命的なエラー | IRPの完了ルーチンは、ページング可能なコードになっています。(これは許可されません。) |
0x228 | 非致命的なエラー | ドライバーの完了ルーチンPendingReturnedフィールドがIRPに設定された場合は保留中のIRPをマークしていないものに渡されました。 これは、エラーがスタックによって返される場合は特に、Windowsがハングすることがあります。 |
0x229 | 非致命的なエラー | キャンセルルーチンは、おそらくキャンセルルーチンを踏み、現在スタックの下位ドライバによって処理されているIRPが設定されています。 |
0x22A | 非致命的なエラー | 物理デバイスオブジェクト(PDO)が必要なIRPに応答しませんでした。 |
0x22B | 非致命的なエラー | 物理デバイスオブジェクト(PDO)がTargetDeviceRelation・クエリのためのPDOで、デバイス関係のリストを記入するのを忘れました。 |
0x22C | 非致命的なエラー | TargetDeviceRelationクエリを実行するコードを実行するには、PDOでObReferenceObject呼ばなかった。 |
0x22D | 非致命的なエラー | 呼び出し側は、それを下に渡すのではなく、理解していなかったIRP_MJ_PNPを完了しました。 |
0x22E | 非致命的なエラー | 呼び出し側は、代わりにそれを渡すのに成功IRP_MJ_PNPを完了しました。 |
0x22F | 非致命的なエラー | 呼び出し側は手付かずのIRP_MJ_PNP(代わりにダウンIRPを渡す)が完了した、 または非PDOはSTATUS_NOT_SUPPORTEDの不正な値を使用してIRPを失敗しました。 |
0x230 | 非致命的なエラー | 呼び出し側は、それを下に渡すのではなく、理解していなかったIRP_MJ_POWERを完了しました。 |
0x231 | 非致命的なエラー | 呼び出し側は、代わりにそれを渡すのに成功IRP_MJ_POWERを完了しました。 |
0x232 | 非致命的なエラー | 呼び出し側は手付かずのIRP_MJ_POWER(代わりにダウンIRPを渡す)が完了した、 または非PDOはSTATUS_NOT_SUPPORTEDの不正な値を使用してIRPを失敗しました。 |
0x233 | 非致命的なエラー | クエリ機能のIRPのクエリ機能構造のバージョン・フィールドが正しく初期化されませんでした。 |
0x234 | 非致命的なエラー | クエリ機能のIRPのクエリ機能構造体のサイズフィールドが正しく初期化されませんでした。 |
0x235 | 非致命的なエラー | クエリ機能IRPのクエリ機能構造体のアドレス・フィールドが正しく-1に初期化されませんでした。 |
0x236 | 非致命的なエラー | クエリ機能IRPのクエリ機能構造のUI Numberフィールドが正しく-1に初期化されませんでした。 |
0x237 | 非致命的なエラー | ドライバは、システム専用に制限されているIRPを送信しました。 |
0x238 | 警告 | IoInitializeIrpの呼び出し元がIoAllocateIrpで割り当てられたIRPを渡しました。 これにより、通常の使用でのパフォーマンスに影響を与えます。 このIRPがリサイクルされている場合は、Windows Driver KitのIoReuseIrpを参照してください。 |
0x239 | 警告 | IoCompleteRequestの呼び出し元は、IoCallDriverまたはPoCallDriverへの呼び出しを介して 転送されたことはありません。これはバグかもしれません。 |
0x23A | 非致命的なエラー | ドライバは、この主要なコードは違法であるIRQLでIRPを転送しました。 |
0x23B | 非致命的なエラー | 呼び出し側は、それが理解していないIRPのstatusフィールドを変更しました。 |
I/Oエラーコード | 重症度 | エラーの原因 |
---|---|---|
0x23C | 致命的なエラー | ドライバはNULLにIRPにキャンセルルーチンを設定せずにIRPを完了しました。 |
0x23D | 非致命的なエラー | ドライバーはSTATUS_PENDING戻ってきたけどIoMarkIrpPendingへの呼び出しによって保留中のIRPをマークしていませんでした。 |
0x23E | 非致命的なエラー | ドライバは、保留中のIRPをマークしたが、STATUS_PENDINGを返しませんでした。 |
0x23F | 致命的なエラー | ドライバには、それが付着したスタックからDO_POWER_PAGABLEビットを継承していません。 |
0x240 | 致命的なエラー | ドライバは既にIoDeleteDeviceへの以前の呼び出しを介して削除されたデバイスオブジェクトを削除しようとしています。 |
0x241 | 致命的なエラー | ドライバはIRPを取り除く驚きの中にそのデバイスオブジェクトをデタッチしています。 |
0x242 | 致命的なエラー | ドライバはIRPを取り除く驚きの中にそのデバイスオブジェクトが削除されました。 |
0x243 | 致命的なエラー | ドライバはAddDeviceの終わりDO_DEVICE_INITIALIZINGフラグをクリアするために失敗しました。 |
0x244 | 致命的なエラー | ドライバには、それが添付されているデバイスオブジェクトからDO_BUFFERED_IOまたはDO_DIRECT_IOフラグのいずれかをコピーしていません。 |
0x245 | 致命的なエラー | ドライバはDO_BUFFERED_IOとDO_DIRECT_IOフラグの両方を設定しています。これらのフラグは相互に排他的です。 |
0x246 | 致命的なエラー | ドライバには、それが添付されているデバイスオブジェクトからするDeviceTypeフィールドのコピーに失敗しました。 |
0x247 | 致命的なエラー | ドライバは、合法的に失敗することはできませんIRPを失敗しました。 |
0x248 | 致命的なエラー | ドライバはデバイス関係の照会に対するPDOないデバイスオブジェクトを追加しました。 |
0x249 | 非致命的なエラー | ドライバが同じデバイスIDを返した2子のPDOを列挙しました。(両デバイスオブジェクトが指定されています。) |
0x24A | 致命的なエラー | ドライバが誤ってPASSIVE_LEVELに等しくないIRQLを備えたI/O機能ファイルをコールしました。 |
0x24B | 非致命的なエラー | ドライバは、成功したとして、型TargetDeviceRelationのIRP_MN_QUERY_DEVICE_RELATIONS要求を完了しましたが、 切に要求または前方基盤となるハードウェア・スタックへのIRPを記入していませんでした。 |
0x24C | 非致命的なエラー | ドライバーはSTATUS_PENDING戻ってきたけどIoMarkIrpPendingへの呼び出しによって保留中のIRPをマークしていませんでした。 |
0x24D | 致命的なエラー | ドライバはPDOを必要とする関数に無効なデバイスオブジェクトが渡されました。 |
0x300 | ドライバが疑わしい状態を返しました。これはおそらくドライバの初期化されていない変数のバグが原因です。 | |
0x301 | ドライバは、IRQL> DISPATCH_LEVELでIRPを転送しました。(IRQLの値が指定されている) | |
0x302 | ドライバは、IRQL> = APC_LEVELでIRPを転送しました。 I/Oマネージャはキューにこの要求を完了するために、APCが必要になります。 APCは、呼び出し側がAPCのレベルで既にあるので、実行することができなくなり、呼び出し側がデッドロックする可能性が高いです。(IRQLの値が指定されている) | |
0x306 | ドライバは、エラーステータスコードとIRP_MJ_PNP(メジャー)とIRP_MN_REMOVE_DEVICE(マイナーな)要求を完了しています。 |