バグ チェック 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION

DRIVER_VERIFIER_DETECTED_VIOLATION バグ チェックには、0x000000C4 の値があります。 これは、ドライバー検証ツールによって発見された致命的なエラーの一般的なバグチェックコードです。 詳細については、「ドライバーの検証ツールが有効になっている場合のバグ チェックの処理」を参照してください。

重要

この記事は、プログラマー向けです。 コンピューターを使用中に、ブルー スクリーン エラーが表示された場合は、「ブルー スクリーン エラーのトラブルシューティング」を参照してください。

DRIVER_VERIFIER_DETECTED_VIOLATION パラメーター

パラメーター 1 は違反の種類を特定します。 残りのパラメーターの意味は、パラメーター 1 の値によって異なります。 次の表に、このオプションで使用可能なパラメーター値を示します。

注: この表の 5 つの列すべてを表示できない場合は、次の操作を試してください。

  • ブラウザー ウィンドウをフルサイズに展開します。
  • テーブルにカーソルを置き、方向キーを使用して左右にスクロールします。

0x00 から 0x70

パラメーター 1 パラメータ 2 パラメーター 3 パラメーター 4 エラーの原因
0x00 現在の IRQL プールの種類 バイト数 ドライバーが 0 バイトのプール割り当てを要求しました。
0x01 現在の IRQL プールの種類 割り当てサイズ (バイト単位) ドライバーが、IRQL > APC_LEVELを使用してページングされたメモリを割り当てようとしました。
0x02 現在の IRQL プールの種類 割り当てサイズ (バイト単位) ドライバーが IRQL > DISPATCH_LEVELを使用して非ページ メモリを割り当てようとしました。
0x03 呼び出し元は、成功する必要があるプールの複数のページを割り当てようとしていますが、この API では、1 ページが許可される最大ページです。
0煮10 アドレスが正しくありません。 0 0 ドライバーが、割り当て呼び出しから返されなかったアドレスを解放しようとしました。
0x11 現在の IRQL プールの種類 プールのアドレス ドライバーが、IRQL > APC_LEVELを使用してページ プールを解放しようとしました。
0x12 現在の IRQL プールの種類 プールのアドレス ドライバーが IRQL > DISPATCH_LEVELを使用して非ページ プールを解放しようとしました。
0x13 または 0x14 予約されています。 プール ヘッダーへのポインター プール ヘッダーの内容 ドライバーが、既に解放されているメモリ プールを解放しようとしました。
0x15 タイマー エントリ プールの種類 解放されているプール アドレス 呼び出し元が解放しようとしているプールに、アクティブなタイマーが含まれています。
0x16 予約されています。 プール アドレス 0 ドライバーが不適切なアドレスでプールを解放しようとしましたか、ドライバーがメモリ ルーチンに無効なパラメーターを渡しました。
0X17 リソース エントリ プールの種類 解放されているプール アドレス 呼び出し元が解放しようとしているプールに、アクティブな ERESOURCE が含まれています。
0x30 現在の IRQL 要求した IRQL 0 ドライバーが パラメーターを KeRaiseIrqlに渡しました。 (パラメーターは、現在の IRQL より小さい値か、HIGH_LEVEL より大きい値でした。これは、初期化されていないパラメーターを使用した結果の可能性があります)。
0x31 現在の IRQL 要求した IRQL 0: 新しい IRQL が正しくありません 1: DPC ルーチン内で新しい IRQL が無効です ドライバーが パラメーターを KeLowerIrqlに渡しました。 (パラメーターは、現在の IRQL より大きい値か、HIGH_LEVEL より大きい値でした。これは、初期化されていないパラメーターを使用した結果の可能性があります)。
0x32 現在の IRQL スピン ロック アドレス 0 DISPATCH_LEVEL以外の IRQL で KeReleaseSpinLock というドライバー。 (これは、スピン ロックの二重リリースが原因である可能性があります)。
0x33 現在の IRQL 高速ミューテックス アドレス 0 ドライバーが IRQL > APC_LEVEL を使用して高速ミューテックスを取得しようとしました。
0x34 現在の IRQL スレッド APC の無効化数 高速ミューテックス アドレス ドライバーが、APC_LEVEL 以外の IRQL で高速ミューテックスを解放しようとしました。
0x35 現在の IRQL スピン ロック アドレス 古い IRQL カーネルは、IRQL が DISPATCH_LEVEL と等しくないスピン ロックを解放しました。
0x36 現在の IRQL スピン ロック番号 古い IRQL カーネルは、IRQL が DISPATCH_LEVEL と等しくないキューにあるスピン ロックを解放しました。
0x37 現在の IRQL スレッド APC の無効化数 リソース ドライバーがリソースを取得しようとしましたが、APC は無効ではありません。
0x38 現在の IRQL スレッド APC の無効化数 リソース ドライバーがリソースをリリースしようとしましたが、APC は無効ではありません。
0x39 現在の IRQL スレッド APC の無効化数 Mutex ドライバーが、IRQL がエントリのAPC_LEVELと等しくないミューテックス "unsafe" を取得しようとしました。
0x3A 現在の IRQL スレッド APC の無効化数 Mutex ドライバーが、IRQL がエントリのAPC_LEVELと等しくないミューテックス "unsafe" をリリースしようとしました。
0x3B 現在の IRQL 待機するオブジェクト タイムアウト パラメーター KeWaitXxx ルーチンは、DISPATCH_LEVEL 以上で呼び出されています。
0x3C ルーチンに渡されるハンドル アセチルサリチル酸アクロレイン 0 無効なハンドルを持つ ObReferenceObjectByHandle というドライバー。
0x3D 0 0 不正なリソースのアドレス ドライバーが、ExAcquireResourceExclusiveに無効な (整列されていない) リソースを渡しました。
0x3E 0 0 0 現在重要なリージョンにないスレッドの KeLeaveCriticalRegion というドライバー。
0x3F オブジェクトのアドレス 新しいオブジェクト参照カウント。 -1: 逆参照ケース 1: 参照ケース 0 ドライバーが、参照カウントが 0 のオブジェクトに ObReferenceObject を適用しました。 または、ドライバーは、参照カウントが 0 のオブジェクトに ObDereferenceObject を適用しました。
0x40 現在の IRQL スピン ロック アドレス 0 ドライバーが KeAcquireSpinLockAtDpcLevel を IRQL < DISPATCH_LEVELで呼び出しました。
0x41 現在の IRQL スピン ロック アドレス 0 ドライバーが KeReleaseSpinLockFromDpcLevel を IRQL < DISPATCH_LEVELで呼び出しました。
0x42 現在の IRQL スピン ロック アドレス 0 ドライバーが KeAcquireSpinLock を IRQL > DISPATCH_LEVELで呼び出しました。
0x51 割り当てのベース アドレス 割り当てを超える参照のアドレス 課金されたバイト数 ドライバーが、割り当ての最後を超えて書き込んだ後、メモリを解放しようとしました。 このパラメーターでチェックバグは、ドライバー検査ツールのプール追跡オプションがアクティブな場合にのみ発生します。
0x52 割り当てのベース アドレス ハッシュ エントリ 課金されたバイト数 ドライバーが、割り当ての最後を超えて書き込んだ後、メモリを解放しようとしました。 このパラメーターでチェックバグは、ドライバー検査ツールのプール追跡オプションがアクティブな場合にのみ発生します。
0x53 割り当てのベース アドレス ヘッダー 予約されています。 ドライバーが、割り当ての最後を超えて書き込んだ後、メモリを解放しようとしました。 このパラメーターでチェックバグは、ドライバー検査ツールのプール追跡オプションがアクティブな場合にのみ発生します。
0x54 割り当てのベース アドレス 予約されています。 プール ハッシュ サイズ ドライバーが、割り当ての最後を超えて書き込んだ後、メモリを解放しようとしました。 このパラメーターでチェックバグは、ドライバー検査ツールのプール追跡オプションがアクティブな場合にのみ発生します。
0x59 割り当てのベース アドレス Listindex 予約されています。 ドライバーが、割り当ての最後を超えて書き込んだ後、メモリを解放しようとしました。 このパラメーターでチェックバグは、ドライバー検査ツールのプール追跡オプションがアクティブな場合にのみ発生します。
0x60 ページ プールから割り当てられたバイト数 非ページ プールから割り当てられたバイト数 解放されなかった割り当ての合計数 ドライバーは、最初にプールの割り当てを解放せずにアンロードしています。 このパラメーターでチェックバグは、ドライバー検査ツールのプール追跡オプションがアクティブな場合にのみ発生します。
0x61 ページ プールから割り当てられたバイト数 非ページ プールから割り当てられたバイト数 解放されなかった割り当ての合計数 ドライバー スレッドが、ドライバーのアンロード中にプール メモリを割り当てようとしています。 このパラメーターでチェックバグは、ドライバー検査ツールのプール追跡オプションがアクティブな場合にのみ発生します。
0x62 ドライバーの名前。 予約されています。 ページ プールと非ページ プールの両方を含む、解放されなかった予約割り当て総数 。 ドライバーは、最初にプールの割り当てを解放せずにアンロードしています。 このパラメーターでチェックバグは、ドライバー検査ツールのプール追跡オプションがアクティブな場合にのみ発生します。 バグ チェックの原因となったリークされた割り当ての情報については、「!verifier 3 drivername.sys」と入力します。
0x6F MDL アドレス 物理ページがロックされています システム内で最も高い物理ページ PFN データベース内にないページで呼び出された MmProbeAndLockPages。 これは通常、このルーチンを呼び出して独自のプライベート デュアルポート RAM をロックするドライバーです。 これは必要ないだけでなく、不明確な物理 RAM を持つマシン上のメモリが破損する可能性もあります。

0x91から 0x70

パラメーター 1 パラメータ 2 パラメーター 3 パラメーター 4 エラーの原因
0x70 現在の IRQL MDL アドレス アクセス モード ドライバーが MmProbeAndLockPages を IRQL > DISPATCH_LEVEL で呼び出しました。
0x71 現在の IRQL MDL アドレス プロセスアドレス ドライバーが MmProbeAndLockProcessPagesIRQL を > IRQL DISPATCH_LEVEL で呼び出しました。
0x72 現在の IRQL MDL アドレス プロセスアドレス ドライバーが MmProbeAndLockSelectedPages を IRQL > DISPATCH_LEVEL で呼び出しました。
0x73 現在の IRQL 32 ビット Windows の場合: 下位 32 ビットの物理アドレス 64 ビット Windows の場合: 64 ビット物理アドレス バイト数 ドライバーが MmMapIoSpace を IRQL > DISPATCH_LEVEL で呼び出しました。
0x74 現在の IRQL MDL アドレス アクセス モード ドライバーが MmMapLockedPages を IRQL > DISPATCH_LEVEL のカーネルモードで呼び出しました。
0x75 現在の IRQL MDL アドレス アクセス モード ドライバーが MmMapLockedPage を IRQL > APC_LEVEL のユーザーモードで呼び出しました。
0x76 現在の IRQL MDL アドレス アクセス モード ドライバーが MmMapLockedPagesSpecifyCache を IRQL > DISPATCH_LEVEL のカーネルモードで呼び出しました。
0x77 現在の IRQL MDL アドレス アクセス モード ドライバーが MmMapLockedPagesSpecifyCache を IRQL > APC_LEVEL のユーザーモードで呼び出しました。
0x78 現在の IRQL MDL アドレス 0 ドライバーが MmUnlockPages を IRQL > DISPATCH_LEVEL で呼び出しました。
0x79 現在の IRQL マップされていない仮想アドレス MDL アドレス ドライバーが MmUnmapLockedPages を IRQL > DISPATCH_LEVEL のカーネルモードで呼び出しました。
0x7A 現在の IRQL マップされていない仮想アドレス MDL アドレス ドライバーが MmUnmapLockedPages を IRQL > APC_LEVEL のユーザーモードで呼び出しました。
0x7B 現在の IRQL マップされていない仮想アドレス バイト数 ドライバーが MmUnmapIoSpace を IRQL > APC_LEVELで呼び出しました。
0x7C MDL アドレス MDL フラッグ 0 ドライバーが MmUnlockPages を呼び出し、ページが正常にロックされなかった MDL を渡しました。
0x7D MDL アドレス MDL フラッグ 0 ドライバーが MmUnlockPages を呼び出し、ページが非ページ プールからの MDL を渡しました。 (これらはロック解除しないでください)。)
0x7E 現在の IRQL DISPATCH_LEVEL 0 ドライバーが MmAllocatePagesForMdlMmAllocatePagesForMdlEx、または MmFreePagesFromMdl を IRQL > DISPATCH_LEVEL で呼び出します。
0x7F 現在の IRQL MDL アドレス MDL フラッグ ドライバーが BuildMdlForNonPagedPool を呼び出し、ページ プールからのページを持つ MDL を渡しました。
0x80 現在の IRQL イベント アドレス 0 ドライバーが KeSetEvent を IRQL > DISPATCH_LEVEL で呼び出しました。
0x81 MDL アドレス MDL フラッグ 0 ドライバーが MmMapLockedPages を呼び出しました。 ( 代わりに MmMapLockedPagesSpecifyCache を使用し、BugCheckOnFailure パラメータを FALSE に設定する必要があります)。
0x82 MDL アドレス MDL フラッグ 0 ドライバーが MmMapLockedPagesSpecifyCache を BugCheckOnFailure パラメータに TRUE を指定して、呼び出しました。 このパラメーターは FALSE に設定する必要があります。
0x83 マップする物理アドレス範囲の開始点 マップするバイト数 ロックダウンされていない最初のページ フレーム番号 ドライバーがMDL ページをロックダウンせずに MmMapIoSpace を呼び出しました。 マップされる物理アドレス範囲で表される物理ページは、この呼び出しを行う前にロックダウンされている必要があります。
0x85 MDL アドレス マップするページ数 ロックダウンされていない最初のページ フレーム番号 ドライバーがMDL ページをロックダウンせずに MmMapLockedPages を呼び出しました。
0x89 MDL アドレス MDL 内のメモリ以外のページへのポインター MDL 内のメモリ以外のページ番号 MDL は "I/O" としてマークされていませんが、メモリ以外のページ アドレスが含まれています。
0x91 予約済み 予約済み 予約済み ドライバーが、オペレーティング システムでサポートされていないメソッドを使用してスタックを切り替えました。 カーネル モード スタックを拡張する唯一の方法は、KeExpandKernelStackAndCalloutKeExpandKernelStackAndCallout を使用することです。

0xA0 から 0x140

パラメーター 1 パラメータ 2 パラメーター 3 パラメーター 4 エラーの原因
0xA0 読み取りまたは書き込み要求を行う IRP へのポインター 下位デバイスのデバイス オブジェクト エラーが検出されたセクターの数 ハード ディスクで循環冗長チェック (CRC) エラーが検出されました。 このパラメーターでバグ チェックは、ドライバー検証ツールの [ディスクの整合性チェック] オプションがアクティブな場合にのみ発生します。
0xA1 読み取りまたは書き込み要求を行う IRP のコピー。 (実際の IRP は完了しました)。) 下位デバイスのデバイス オブジェクト エラーが検出されたセクターの数 セクター (非同期) で CRC エラーが検出されました。 このパラメーターでバグ チェックは、ドライバー検証ツールの [ディスクの整合性チェック] オプションがアクティブな場合にのみ発生します。
0xA2 読み取りまたは書き込み要求を行う IRP、またはこの IRP のコピー 下位デバイスのデバイス オブジェクト エラーが検出されたセクターの数 CRCDISK チェック数コピーが一致しません。 これはページングエラーの可能性があります。 このパラメーターでバグ チェックは、ドライバー検証ツールの [ディスクの整合性チェック] オプションがアクティブな場合にのみ発生します。
0xB0 MDL アドレス MDL フラッグ 不正な MDL フラグ ドライバーが不正なフラグを持つ MDL に対して MmProbeAndLockPages を呼び出しました。 たとえば、ドライバーが MmBuildMdlForNonPagedPool によって作成された MDL をMmProbeAndLockPages に渡しました。
0xB1 MDL アドレス MDL フラッグ 不正な MDL フラグ ドライバーが不正なフラグを持つ MDL に対して MmProbeAndLockProcessPages を呼び出しました。 たとえば、ドライバーが MmBuildMdlForNonPagedPool によって作成された MDL をMmProbeAndLockProcessPages に渡しました。
0xB2 MDL アドレス MDL フラッグ 不正な MDL フラグ ドライバーが不正なフラグを持つ MDL に対して MmMapLockedPages を呼び出しました。 たとえば、ドライバーが、既にシステム アドレスにマップされている、または MmMapLockedPages にロックされていない MDL を渡しました。
0xB3 MDL アドレス MDL フラッグ MDL フラグが見つかりません (少なくとも一つは求められていました) ドライバーが不正なフラグを持つ MDL に対して MmMapLockedPages を呼び出しました。 たとえば、ドライバーは MmMapLockedPages にロックされていない MDL を渡しました。
0xB4 MDL アドレス MDL フラッグ 予期しない部分的な MDL フラグ ドライバーが MmUnlockPages を部分的な MDL に対して呼び出しました。 部分的な MDL は、IoBuildPartialMdl によって作成された MDL です。
0xB5 MDL アドレス MDL フラッグ 予期しない部分的な MDL フラグ 部分的な MDL (IoBuildPartialMdlで作成) で呼び出された MmUnmapLockedPages。
0xB6 MDL アドレス MDL フラッグ MDL フラグがありません システムアドレスにマップされていない MDL で呼び出された MmUnmapLockedPages 。
0xB7 破損した物理ページの数。 最初に破損した物理ページ。 最後に破損した物理ページ。 システム BIOS は、スリープ遷移中に物理メモリが不足しています。
0xB8 MDL アドレス MDL フラッグ 予約されています。 MDL によって記述されたページは、引き続きマップされます。 ドライバーが、IoFreeMdl を呼び出す前にページのマップを解除する必要があります。
0xB9 マップされていないアドレス。 MDL アドレス。 予約されています。 不適切なユーザー空間アドレスで呼び出された MmUnmapLockedPages 。
0xC0 IRP のアドレス 0 予約済み ドライバーが割り込みを無効にして IoCallDriver を呼び出しました。
0xC1 ドライバー ディスパッチ ルーチンのアドレス 予約済み 予約済み ドライバー ディスパッチ ルーチンが割り込み無効で返りました。
0xC2 0 0 0 ドライバーが、割り込みが無効になった後、高速 I/O ディスパッチ ルーチンを呼び出しました。
0xC3 ドライバーの高速 I/O ディスパッチ ルーチンのアドレス 予約済み 予約済み ドライバー高速 I/0 ルーチンが割り込み無効で返りました。
0xC5 ドライバー ディスパッチ ルーチンのアドレス 現在のスレッドの APC 無効化数 ドライバー ディスパッチ ルーチンを呼び出す前のスレッドの APC 無効カウント ドライバー ディスパッチ ルーチンによって、スレッドの APC 無効化数が変更されました。 APC 無効カウントは、ドライバーが KeEnterCriticalRegionFsRtlEnterFileSystem を呼び出すか、ミューテックスを取得するたびにデクリメントされます。 APC 無効カウントは、ドライバーが KeLeaveCriticalRegionKeReleaseMutex または FsRtlExitFileSystem を呼び出すたびにインクリメントされます。 これらの呼び出しは常にペアにする必要があるため、スレッドが終了したとき毎に APC 無効化カウントは 0 にする必要があります。 負の値は、ドライバーが再度有効にせずに APC 呼び出しを無効にしたことを示します。 正の値は、逆が True であることを示します。
0xC6 ドライバーの高速 I/O ディスパッチ ルーチンのアドレス 現在のスレッドの APC 無効化数 高速 I/O ドライバー ディスパッチ ルーチンを呼び出す前のスレッドの APC 無効カウント ドライバー 高速 I/O ディスパッチ ルーチンによって、スレッドの APC 無効化数が変更されました。 APC 無効カウントは、ドライバーが KeEnterCriticalRegionFsRtlEnterFileSystem を呼び出すか、ミューテックスを取得するたびにデクリメントされます。 APC 無効カウントは、ドライバーが KeLeaveCriticalRegionKeReleaseMutex または FsRtlExitFileSystem を呼び出すたびにインクリメントされます。 これらの呼び出しは常にペアにする必要があるため、スレッドが終了したとき毎に APC 無効化カウントは 0 にする必要があります。 負の値は、ドライバーが再度有効にせずに APC 呼び出しを無効にしたことを示します。 正の値は、逆が True であることを示します。
0xCA ルックアサイド リストのアドレス 予約済み 予約済み ドライバーがルックアサイド リストを再初期化しようとしました。
0xCB ルックアサイド リストのアドレス 予約済み 予約済み ドライバーが、初期化されていないルックアサイド リストを削除しようとしました。
0xCC ルックアサイド リストのアドレス プール割り当ての開始アドレス プール割り当てのサイズ ドライバーが、アクティブなルックアサイド リストを含むプールの割り当てを解放しようとしました。
0xCD ルックアサイド リストのアドレス 呼び出し元が指定したブロック サイズ サポートされる最小ブロック サイズ ドライバーが、割り当てブロック サイズが小さすぎるルックアサイド リストを作成しようとしました。
0xD0 ERESOURCE 構造体のアドレス 予約済み 予約済み ドライバーが、ERESOURCE 構造体を再初期化しようとしました。
0xD1 ERESOURCE 構造体のアドレス 予約済み 予約済み ドライバーが初期化されていない ERESOURCE 構造体を削除しようとしました。
0xD2 ERESOURCE 構造体のアドレス プール割り当ての開始アドレス プール割り当てのサイズ ドライバーが、アクティブな ERESOURCE 構造体を含むプールの割り当てを解放しようとしました。
0xD5 ドライバーのチェックビルド バージョンによって作成されたIO_REMOVE_LOCK構造体のアドレス 現在の IoReleaseRemoveLock タグ 予約されています。 現在の IoReleaseRemoveLock タグが、以前の IoAcquireRemoveLock タグと一致しません。 IoReleaseRemoveLock を呼び出すドライバーがチェックビルドにない場合、パラメーター 2 は、ドライバーの代わりにドライバー検証ツールによって作成されたシャドウ IO_REMOVE_LOCK構造体のアドレスです。 この場合、ドライバー検証ツールはすべての削除ロック API のロック アドレスを置き換えるため、ドライバーで使用されるIO_REMOVE_LOCK構造体のアドレスは使用されません。 このパラメーターでチェックバグは、ドライバー検査ツールの I/O 検証オプションがアクティブな場合にのみ発生します。
0xD6 ドライバーのチェックビルド バージョンによって作成されたIO_REMOVE_LOCK構造体のアドレス 以前の IoAcquireRemoveLock タグと一致しないタグ 以前の IoAcquireRemoveLock タグ 現在の IoReleaseRemoveLockAndWait タグが、以前の IoAcquireRemoveLock タグと一致しません。 IoReleaseRemoveLock を呼び出すドライバーがチェックビルドにない場合、パラメーター 2 は、ドライバーの代わりにドライバー検証ツールによって作成されたシャドウ IO_REMOVE_LOCK構造体のアドレスです。 この場合、ドライバー検証ツールはすべての削除ロック API のロック アドレスを置き換えるため、ドライバーで使用されるIO_REMOVE_LOCK構造体のアドレスは使用されません。 このパラメーターでチェックバグは、ドライバー検査ツールの I/O 検証オプションがアクティブな場合にのみ発生します。
0xD7 ドライバー検証ツールによって内部的に使用されるチェックビルドのロックの削除構造体のアドレス ドライバーで指定されているロックの削除構造体のアドレス 予約されています。 IoReleaseRemoveLockAndWait を呼び出した後でも、ロックの削除を再初期化することはできません。他のスレッドがまだ (IoAcquireRemoveLock を呼び出すことによって) そのロックを使用している可能性があるからです。 ドライバーは、デバイス拡張機能内にロックの削除を割り当て、1 回初期化する必要があります。 ロックは、デバイス拡張機能と共に削除されます。
0xDA ドライバーの開始アドレス ドライバー内の WMI コールバック アドレス 予約されています。 WMI コールバック関数を登録解除していないドライバーをアンロードしようとしました。
0xDB デバイス オブジェクトのアドレス。 予約済み 予約済み WMI から登録解除されていないデバイス オブジェクトを削除しようとしました。
0xDC 予約済み 予約済み 予約済み 無効な RegHandle 値が、関数 EtwUnregister のパラメーターとして指定されました。
0xDD EtwRegister への呼び出しのアドレス アンロード ドライバーの開始アドレス Windows 8 以降のバージョンの場合、このパラメーターは ETW RegHandle 値です。 EtwUnregister を呼び出さずにドライバーをアンロードしようとしました。
0xDF 同期オブジェクト のアドレス 0 0 同期オブジェクトはセッション アドレス空間にあります。 同期オブジェクトは、別のセッションまたはセッション仮想アドレス空間を持たないシステム スレッドから操作できるため、セッション アドレス空間では許可されません。
0xE0 パラメーターとして使用されるユーザー モード アドレス パラメーターとして使用されるアドレス範囲のサイズ (バイト単位) 予約されています。 ユーザー モード アドレスをパラメーターとして指定したオペレーティング システムカーネル関数の呼び出しが行われました。
0xE1 同期オブジェクトのアドレス 予約済み 予約済み 同期オブジェクトに無効またはページング可能なアドレスが見つかりました。
0xE2 IRP のアドレス IRP に存在するユーザー モード アドレス 予約されています。 Irp->RequestorModeがKernelMode に設定されている IRP が、そのメンバーの1つとしてユーザーモードのアドレスを持っていることが判明しました。
0xE3 API の呼び出しのアドレス API のパラメーターとして使用されるユーザー モード アドレス 予約されています。 ドライバーは、ユーザー モード アドレスをパラメーターとしてカーネル モード ZwXxx ルーチンの呼び出しを行いました。
0xE4 API の呼び出しのアドレス 形式が正しくない UNICODE_STRING 構造体のアドレス 予約されています。 ドライバーは、パラメーターとして形式が正しくない UNICODE_STRING 構造体を持つカーネル モード ZwXxx ルーチンを呼び出しました。
0xE5 現在の IRQL 予約済み 予約済み 正しくない IRQL でカーネル API への呼び出しが行われました。
0xE6 Zw API 呼び出しを行うドライバー内のアドレス 現在の IRQL 特殊なカーネル API。 カーネル Zw API は IRQL = PASSIVE_LEVEL で呼び出されず、特殊なカーネル API が有効になっています。
0xEA 現在の IRQL スレッドの APC 無効化数 プッシュロックのアドレス APC が有効になっている間、ドライバーがプッシュロックを取得しようとしました。
0xEB 現在の IRQL スレッドの APC 無効化数 プッシュロックのアドレス APC が有効になっている間、ドライバーがプッシュロックをリリースしようとしました。
0xF0 ターゲットバッファのアドレス 送信元バッファのアドレス コピーするバイト数。 ソースバッファーと宛先バッファーが重複する memcpy 関数を呼び出したドライバー。
0xF5 NULL ハンドルのアドレス。 アセチルサリチル酸アクロレイン 予約されています。 ドライバーが ObReferenceObjectByHandle に NULL ハンドルを渡しました。
0xF6 参照されている値を処理する 現在のプロセスのアドレス 正しくない参照を実行するドライバー内のアドレス ドライバーは、カーネル モードとしてユーザー モード ハンドルを参照します。
0xF7 呼び出し元によって指定されたハンドル値 呼び出し元によって指定されたオブジェクトの種類 呼び出し元によって指定された AccessMode ドライバーは、システム プロセスのコンテキストでカーネル ハンドルのユーザー モード参照を試行しています。
0xFA 完了ルーチン アドレス。 完了ルーチンを呼び出す前の IRQL 値 現在の IRQL 値 (完了ルーチンを呼び出した後) ルーチンが呼び出された IRQL とは異なる IRQL で返された IRP 完了ルーチン。
0xFB 完了ルーチン アドレス 現在のスレッドの APC 無効化数 IRP 完了ルーチンを呼び出す前のスレッドの APC 無効カウント スレッドの APC 無効カウントは、ドライバーの IRP 完了ルーチンによって変更されました。 APC 無効カウントは、ドライバーが KeEnterCriticalRegionFsRtlEnterFileSystem を呼び出すか、ミューテックスを取得するたびにデクリメントされます。 APC 無効カウントは、ドライバーが KeLeaveCriticalRegionKeReleaseMutex または FsRtlExitFileSystem を呼び出すたびにインクリメントされます。 これらの呼び出しは常にペアにする必要があるため、スレッドが終了したとき毎に APC 無効化カウントは 0 にする必要があります。 負の値は、ドライバーが再度有効にせずに APC 呼び出しを無効にしたことを示します。 正の値は、逆が True であることを示します。
0xFC 不正な API 呼び出しを行うドライバー内のアドレス 提供された ApcContext 値。 予約されています。 サポートされていない ApcContext 値を使用して (カーネル モードから) ZwNotifyChangeKey を呼び出します。

0x105 から 0x140

パラメーター 1 パラメータ 2 パラメーター 3 パラメーター 4 エラーの原因
0x105 IRP のアドレス 0 0 ドライバーは、IoFreeIrp ではなく ExFreePool を使用して IRP を解放します。
0x10A 0 0 0 ドライバーは、アイドル プロセスにプール クォータを課金しようとします。
0x10B 0 0 0 ドライバーは、DPC ルーチンからプール クォータを充電しようとします。 現在のプロセス コンテキストが未定義であるため、これは正しくありません。
0x110 割り込みサービス ルーチンのアドレス ISR を実行する前に保存された拡張コンテキストのアドレス 拡張コンテキストのアドレスは、ISR を実行した後に保存されました ドライバーの割り込みサービス ルーチン (ISR) によって、拡張スレッド コンテキストが破損しました。
0x111 割り込みサービス ルーチンのアドレス ISR を実行する前の IRQL ISR の実行後の IRQL 割り込みサービス ルーチンは、変更された IRQL を返しました。
0x115 シャットダウンを担当するスレッドのアドレス。デッドロックが発生している可能性があります。 0 0 ドライバー検証ツールは、システムが 20 分以上かかり、シャットダウンが完了しなかったことを検出しました。
0x11A 現在の IRQL 0 0 ドライバーは、IRQL > APC_LEVELで KeEnterCriticalRegion を呼び出します。
0x11B 現在の IRQL 0 0 ドライバーは、IRQL > APC_LEVELで KeLeaveCriticalRegion を呼び出します。
0x120 IRQL 値のアドレス 待機するオブジェクトのアドレス タイムアウト値のアドレス スレッドは IRQL > DISPATCH_LEVELで待機します。 KeWaitForSingleObject または KeWaitForMultipleObjects の呼び出し元は、IRQL <= DISPATCH_LEVELで実行する必要があります。
0x121 IRQL 値のアドレス 待機するオブジェクトのアドレス タイムアウト値のアドレス スレッドは IRQL で待機 DISPATCH_LEVEL、タイムアウトは NULL です。 KeWaitForSingleObject または KeWaitForMultipleObjects の呼び出し元は、IRQL <= DISPATCH_LEVELで実行できます。 タイムアウトに NULL ポインターが指定されている場合、呼び出し元のスレッドは、オブジェクトが通知されるまで待機状態のままになります。
0x122 IRQL 値のアドレス 待機するオブジェクトのアドレス タイムアウト値のアドレス スレッドは DISPATCH_LEVEL 待機し、タイムアウト値が 0 (0) ではありません。 Timeout != 0 の場合、KeWaitForSingleObject または KeWaitForMultipleObjects の呼び出し元は IRQL <= APC_LEVELで実行する必要があります。
0x123 待機するオブジェクトのアドレス 0 0 KeWaitForSingleObject または KeWaitForMultipleObjects の呼び出し元は、待機を UserMode として指定しましたが、オブジェクトはカーネル スタック上にあります。
0x130 作業項目のアドレス 0 0 作業項目はセッション・アドレス スペースにあります。 作業項目は、別のセッションまたはセッション仮想アドレス空間を持たないシステム スレッドから操作できるため、セッション アドレス空間では許可されません。
0x131 作業項目のアドレス 0 0 作業項目はページング可能メモリ内にあります。 カーネルがDISPATCH_LEVELで使用するため、作業項目は非ページ メモリ内に存在する必要があります。
0x135 IRP のアドレス IoCancelIrp 呼び出しからこの IRP の完了までの時間 (ミリ秒) 0 取り消された IRP が予定時間内に完了しませんでした。 ドライバーが取り消された IRP の完了に予想以上の時間を要しました。
0x13A 解放されるプールブロックのアドレス 不正な値 不正な値のアドレス ドライバーは ExFreePool を呼び出し、ドライバー検証ツールは、プールの使用状況を追跡するために使用される内部値の一つにエラーを検出します。
0x13B 解放されるプールブロックのアドレス 不正な値のアドレス 不正なメモリ ページへのポインターのアドレス ドライバーは ExFreePool を呼び出し、ドライバー検証ツールは、プールの使用状況を追跡するために使用される内部値の一つにエラーを検出します。
0x13C 解放されるプールブロックのアドレス 不正な値 不正な値のアドレス ドライバーは ExFreePool を呼び出し、ドライバー検証ツールは、プールの使用状況を追跡するために使用される内部値の一つにエラーを検出します。
0x13D 解放されるプールブロックのアドレス 不正な値のアドレス 予測されていた正しい値 ドライバーは ExFreePool を呼び出し、ドライバー検証ツールは、プールの使用状況を追跡するために使用される内部値の一つにエラーを検出します。
0x13E 呼び出し元によって指定されたプール ブロック アドレス ドライバー検証ツールによって追跡されるプール ブロック アドレス ドライバー検証ツールによって追跡されるプール ブロック アドレスへのポインター ExFreePool の呼び出し元によって指定されたプール ブロック アドレスは、ドライバー検証ツールによって追跡されるアドレスとは異なります。
0x13F 解放されるプールブロックのアドレス 解放されるバイト数 ドライバー検証ツールによって追跡されるバイト数へのポインター ExFreePool の呼び出しで解放されるメモリのバイト数は、ドライバー検証ツールによって追跡されるバイト数とは異なります。
0x140 現在の IRQL MDL アドレス この MDL に関連付けられている仮想アドレス ロックされていない MDL は、ページング可能またはトラッド可能なメモリから構築されました。
0x141 割り当てのためにドライバーが要求した最大物理アドレス 割り当てるバイト数。 0 ドライバーは、4 GB 未満の物理メモリを明示的に要求しています。

0x100Bへの0x1000 - デッドロック

パラメーター 1 パラメータ 2 パラメーター 3 パラメーター 4 エラーの原因
0x1000 リソースのアドレス 予約済み 予約済み 自己デッドロック: 現在のスレッドは、共有のみを所有するリソースを再帰的かつ排他的に取得しようとしました。 このパラメーターでチェック バグは、ドライバー検査ツールの デッドロック検知オプションがアクティブな場合にのみ発生します。
0x1001 デッドロックの最終的な原因となったリソースのアドレス 予約済み 予約済み デッドロック: ロック階層違反が見つかりました。 このパラメーターでチェック バグは、ドライバー検査ツールの デッドロック検知オプションがアクティブな場合にのみ発生します。 (詳細については、 !deadlock 拡張機能を使用してください)。
0x1002 リソースのアドレス 予約済み 予約済み 初期化されていないリソース: 最初に初期化されずにリソースが取得されました。 このパラメーターでチェック バグは、ドライバー検査ツールの デッドロック検知オプションがアクティブな場合にのみ発生します。
0x1003 デッドロックがリリースされているリソースのアドレス 最初にリリースする必要があるリソースのアドレス 予約されています。 予期しないリリース: リソースが正しくない順序でリリースされました。 このパラメーターでチェック バグは、ドライバー検査ツールの デッドロック検知オプションがアクティブな場合にのみ発生します。
0x1004 リソースのアドレス リソースを取得したスレッドのアドレス 現在のスレッドのアドレス。 予期しないスレッド: 間違ったスレッドがリソースを解放します。 このパラメーターでチェック バグは、ドライバー検査ツールの デッドロック検知オプションがアクティブな場合にのみ発生します。
0x1005 リソースのアドレス 予約済み 予約済み 複数の初期化: リソースが複数回初期化されます。 このパラメーターでチェック バグは、ドライバー検査ツールの デッドロック検知オプションがアクティブな場合にのみ発生します。
0x1007 リソースのアドレス 予約済み 予約済み 取得されていないリソース: リソースは、取得される前にリリースされます。 このパラメーターでチェック バグは、ドライバー検査ツールの デッドロック検知オプションがアクティブな場合にのみ発生します。
0x1008 ロック アドレス 予約済み 予約済み ドライバーは、このロックの種類に一致しない API を使用してロックを取得しようとしました。
0x1009 ロック アドレス 予約済み 予約済み ドライバーは、このロックの種類に一致しない API を使用してロックをリリースしようとしました。
0x100A 所有者スレッド アドレス 予約されています。 終了したスレッドはロックを所有します。
0x100B ロック アドレス 所有者スレッド アドレス 予約されています。 削除されたロックはスレッドによって引き続き所有されます。
0x1010 書き込み IRP が発行されたデバイス オブジェクト。 IRP のアドレス。 MDL が記述するバッファーのシステム空間仮想アドレス。 Write Irp の不変 MDL バッファーの内容が変更されました。
0x1011 書き込み IRP が発行されたデバイス オブジェクト。 IRP のアドレス。 MDL が記述するバッファーのシステム空間仮想アドレス。 読み取り Irpの不変MDLバッファ内容がディスパッチ中に変更されたか、ダミーページによってバッファがバックアップされました。
0x1012 違反を説明する文字列へのポインター。 この破損に関連するデータ (使用しない場合は 0)。 この破損に関連するデータ (使用しない場合は 0)。 検証ツール拡張機能の状態ストレージで破損が検出されました。
0x1013 ドライバー オブジェクトを指すポインター。 キャプチャされた元の I/O コールバックへのポインター。 予約済み (未使用) 検証ツールは、キャプチャされた元の I/O コールバックの内部破損を検出しました。

0x2000 から 0x2005 - コード整合性の問題

パラメーター 1 パラメータ 2 パラメーター 3 パラメーター 4 エラーの原因
0x2000 エラーが検出されたドライバーのコード内のアドレス。 プールの種類。 プールタグ (指定されている場合) 。 コードの整合性の問題: 呼び出し元が実行可能プールの種類を指定しました。 (予想: NonPagedPoolNx)
0x2001 エラーが検出されたドライバーのコード内のアドレス。 ページ保護 (WIN32_PROTECTION_MASK) 。 0 コードの整合性の問題: 呼び出し元が実行可能ページ保護を指定しました。 (予想:クリアされたPAGE_EXECUTE*ビット)
0x2002 エラーが検出されたドライバーのコード内のアドレス。 ページの優先順位 (MM_PAGE_PRIORITY MdlMapping*と論理的にORされます) 。 0 コード整合性の問題: 呼び出し元が実行可能な MDL マッピングを指定しました。 (期待: MdlMappingNoExecute)
0x2003 イメージファイル名 (Unicode文字列) 。 セクションヘッダーのアドレス。 セクション名 (UTF-8でエンコードされた文字列) 。 コードの整合性の問題: イメージには、実行可能で書き込み可能なセクションが含まれています。
0x2004 イメージファイル名 (Unicode文字列) 。 セクションヘッダーのアドレス。 セクション名 (UTF-8でエンコードされた文字列) 。 コード整合性の問題: このイメージには、ページがアラインされていないセクションが含まれています。
0x2005 イメージファイル名 (Unicode文字列) 。 IAT ディレクトリ。 セクション名 (UTF-8でエンコードされた文字列) 。 コード整合性の問題: イメージには、実行可能セクションにある IAT が含まれています。

0xA001 から 0xA00D - VM スイッチの問題

パラメーター 1 パラメータ 2 パラメーター 3 パラメーター 4 エラーの原因
0xA001 NetBufferList オブジェクトを指すポインター。 仮想スイッチ オブジェクトへのポインター (NULLでない場合) 予約済み (未使用) VM スイッチ: 呼び出し元が指定した NetBufferList の SourceHandle を設定する必要があります。 AllocateNetBufferListForwardingContext ルーチンを参照してください。
0xA002 NetBufferList オブジェクトを指すポインター。 仮想スイッチ オブジェクトへのポインター (NON-NULL の場合)。 予約済み (未使用) VM スイッチ: 呼び出し元が提供した NetBufferList の転送の詳細が 0 ではありません。 AllocateNetBufferListForwardingContext ルーチンを参照してください。
0xA003 NetBufferList オブジェクトを指すポインター。 仮想スイッチ オブジェクトへのポインター (NON-NULL の場合)。 予約済み (未使用) VM スイッチ: 呼び出し元は、パケット ヘッダーまたはルーティング コンテキストが NULL である NetBufferList を提供しました。 拡張可能スイッチのデータパスのパケット管理ガイドラインを参照してください。
0xA004 無効なポートの ID NIC インデックス 仮想スイッチ オブジェクトへのポインター (NON-NULL の場合)。 VM スイッチ: 呼び出し元が無効なポートと NIC インデックスの組み合わせを指定しました。 Hyper-V 拡張可能スイッチ ポートおよびネットワーク アダプターの状態を参照してください。
0xA005 NetBufferList オブジェクトを指すポインター。 宛先リストへのポインター。 仮想スイッチ オブジェクトへのポインター (NON-NULL の場合)。 VM スイッチ: 呼び出し元が無効な宛先を指定しました。 AddNetBufferListDestinationUpdateNetBufferListDestinations を参照してください。
0xA006 NetBufferList オブジェクトを指すポインター。 仮想スイッチ オブジェクトへのポインター (NON-NULL の場合)。 予約済み (未使用) VM スイッチ: 呼び出し元が無効なソース NIC またはポート オブジェクトを指定しました。 Hyper-V 拡張可能スイッチ ポートおよびネットワーク アダプターの状態を参照してください。
0xA007 NetBufferList オブジェクトを指すポインター。 仮想スイッチ オブジェクトへのポインター (NON-NULL の場合)。 予約済み (未使用) VM スイッチ: 呼び出し元が無効な宛先リストを指定しました。 AddNetBufferListDestinationUpdateNetBufferListDestinations を参照してください。
0xA008 親 NIC オブジェクト NIC インデックス 仮想スイッチ オブジェクトへのポインター (NON-NULL の場合)。 VM スイッチ: 許可されていない場合に NIC を参照しようとしています。 Hyper-V 拡張可能スイッチ ポートおよびネットワーク アダプターの状態を参照してください。
0xA009 参照されているポート 仮想スイッチ オブジェクトへのポインター (NULLでない場合) 予約済み (未使用) VM スイッチ: 許可されていない場合は、ポートの参照を試みます。 Hyper-V 拡張可能スイッチ ポートおよびネットワーク アダプターの状態を参照してください。
0xA00A NetBufferList オブジェクトを指すポインター。 ContextTypeInfo オブジェクト 予約済み (未使用) VM スイッチ: エラー コンテキストは既に設定されています。 SetNetBufferListSwitchContext を参照してください。
0xA00B NetBufferList オブジェクトを指すポインター。 NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_* 仮想スイッチ オブジェクトへのポインター (NULLでない場合) VM スイッチ: 削除された NetBufferList の方向が無効です。 ReportFilteredNetBufferLists を参照してください。
0xA00C NetBufferList オブジェクトを指すポインター。 送信フラグの値 仮想スイッチ オブジェクトへのポインター (NULLでない場合) VM スイッチ: NDIS_Standard Edition ND_FLAGS_SWITCH_SINGLE_SOURCE フラグが設定されている場合、NetBufferList チェーンには複数のソース ポートがあります。 Hyper-V 拡張可能スイッチ送信および受信フラグ を参照してください。
0xA00D NetBufferList オブジェクトを指すポインター。 仮想スイッチ コンテキストへのポインター 仮想スイッチ オブジェクトへのポインター (NULLでない場合) VM スイッチ: NDIS_RECEIVE_FLAGS_SWITCH_DESTINATION_GROUP フラグが設定されている場合、チェーン内の 1 つ以上の NetBufferLists に無効な宛先があります。 Hyper-V 拡張可能スイッチ送信および受信フラグ を参照してください。
0xA00E NetBufferLists オブジェクトを指すポインター。 仮想スイッチ コンテキストへのポインター。 仮想スイッチ オブジェクトへのポインター (NON-NULL の場合)。 VM スイッチ: VMS_NBL_ROUTING_CONTEXT_FLAG_NO_WNV_PROCESSING フラグが設定されているときに、WNV を介して NetBufferList を完了しようとしています。

0x00020022への0x00020002 - DDI コンプライアンス規則違反

パラメーター 1 パラメータ 2 パラメーター 3 パラメーター 4 エラーの原因
0x00020002 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlApcLte に違反しました。 このルールでは、ドライバーがIRQL = APC_LEVEL場合にのみObGetObjectSecurityObReleaseObjectSecurity を呼び出す <必要があることを指定します。
0x00020003 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール rqlDispatch に違反しました。 IrqlDispatch ルールは、ドライバーが IRQL = DISPATCH_LEVEL の場合にのみ特定のルーチンを呼び出す必要があることを指定します
0x00020004 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlExAllocatePool に違反しました。 IrqlExAllocatePool ルールでは、ExAllocatePoolWithTag および ExAllocatePoolWithTagPriority を、ドライバーが IRQL<=DISPATCH_LEVEL. で実行されている場合にのみ、呼び出す必要があります。
0x00020005 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlExApcLte1 に違反しました。 IrqlExApcLte1 ルールは、ドライバーは IRQL <= APC_LEVEL でのみ ExAcquireFastMutex と ExTryToAcquireFastMutex を呼び出す必要があります。
0x00020006 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlExApcLte2 に違反しました。 IrqlExApcLte2 ルールでは、ドライバーが IRQL <= APC_LEVEL 場合にのみ特定のルーチンを呼び出す必要があることを規定します。
0x00020007 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlExApcLte3 に違反しました。 IrqlExApcLte3 ルールでは、ドライバーは IRQL <= APC_LEVEL でのみ、ドライバーが特定のエグゼクティブ サポート ルーチンを呼び出す必要があることを規定します。
0x00020008 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlExPassive に違反しました。 IrqlExPassiveルールでは、IRQL = PASSIVE_LEVELのときのみ、ドライバが特定のエグゼクティブ サポート ルーチンを呼び出す必要があることを規定します。
0x00020009 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlIoApcLte に違反しました。 IrqlIoApcLte ルールでは、ドライバーが IRQL <= APC_LEVEL 場合にのみ特定のI/Oマネージャー ルーチンを呼び出す必要があることを規定します。
0x0002000A 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlIoPassive1 に違反しました。 IrqlIoPassive1 ルールでは、IRQL = PASSIVE_LEVELの場合にのみ、ドライバーが特定のI/Oマネージャー ルーチンを呼び出す必要があることを規定します。
0x0002000B 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlIoPassive2 に違反しました。 IrqlIoPassive2 ルールでは、IRQL = PASSIVE_LEVEL の場合にのみ、ドライバーが特定の I/O マネージャー ルーチンを呼び出す必要があることを規定します。
0x0002000C 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlIoPassive3 に違反しました。 IrqlIoPassive3 ルールでは、IRQL = PASSIVE_LEVEL の場合にのみ、ドライバーが特定の I/O マネージャー ルーチンを呼び出す必要があることを規定します。
0x0002000D 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlIoPassive4 に違反しました。 IrqlIoPassive4 ルールでは、IRQL = PASSIVE_LEVEL の場合にのみ、ドライバーが特定の I/O マネージャー ルーチンを呼び出す必要があることを規定します。
0x0002000E 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlIoPassive5 に違反しました。 IrqlIoPassive5 ルールでは、IRQL = PASSIVE_LEVEL の場合にのみ、ドライバーが特定の I/O マネージャー ルーチンを呼び出す必要があることを規定します。
0x0002000F 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlKeApcLte1 に違反しました。 IrqlKeApcLte1 ルールでは、ドライバーが IRQL <= APC_LEVEL 場合にのみ特定のカーネル ルーチンを呼び出す必要があることを規定します。
0x00020010 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlKeApcLte2 に違反しました。 rqlKeApcLte2 ルールでは、ドライバーが IRQL <= APC_LEVEL 場合にのみ特定のカーネル ルーチンを呼び出す必要があることを規定します。
0x00020011 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlKeDispatchLte に違反しました。 IrqlKeDispatchLte ルールでは、ドライバーが IRQL <= DISPATCH_LEVEL の場合にのみ特定のカーネル ルーチンを呼び出す必要があることを規定します
0x00020015 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IIrqlKeReleaseSpinLock に違反しました。 IrqlKeReleaseSpinLock ルールでは、ドライバーは IRQL = DISPATCH_LEVEL で実行されている場合にのみ、 KeReleaseSpinLock を呼び出す必要があることを規定します。
0x00020016 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlKeSetEvent に違反しました。 IrqlKeSetEventルールでは、KeSetEvent ルーチンを、WaitがFALSEに設定されている場合はIRQL <= DISPATCH_LEVELで、WaitがTRUEに設定されている場合は IRQL <= APC_LEVELでのみ、呼び出す必要があることを規定します。
0x00020019 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlMmApcLte に違反しました。 IrqlMmApcLte ルールでは、ドライバーが IRQL <= APC_LEVEL 場合にのみ特定のメモリー マネージャー ルーチンを呼び出す必要があることを規定します。
0x0002001A 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlMmDispatch に違反しました。 IrqlMmDispatch ルールでは、ドライバーは MmFreeContiguousMemory を、IRQL = DISPATCH_LEVEL. で実行されている場合にのみ、 呼び出す必要があることを規定します。
0x0002001B 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlObPassive に違反しました。 IrqlObPassive ルールでは、ドライバーが ObReferenceObjectByHandle を、only when IRQL = PASSIVE_LEVEL. の場合にのみ、呼び出す必要があることを規定します。
0x0002001C 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール rqlPsPassive に違反しました。 IrqlPsPassive ルールは、ドライバーが IRQL = PASSIVE_LEVEL場合にのみ、特定のプロセスおよびスレッド マネージャー ルーチンを呼び出す必要があることを指定します。
0x0002001D 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンスルール rqlReturn に違反しました。
0x0002001E 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール rqlRtlPassive に違反しました。 IrqlRtlPassive ルールでは、ドライバーが RtlDeleteRegistryValue を、IRQL = PASSIVE_LEVELの場合にのみ、呼び出す必要があることを規定します。
0x0002001F 違反したルールの条件を記述する文字列へのポインター。 ルール状態変数への省略可能なポインター。 予約されています。 ドライバーが DDI コンプライアンス ルール IrqlZwPassive に違反しました。 IrqlZwPassive ルールは、ドライバーが、ZwClose を、IRQL = PASSIVE_LEVELの場合にのみ 呼び出す必要があることを規定します。
0x00020022 違反したルールの条件を記述する文字列へのポインター。 予約済み (未使用) 予約済み (未使用) ドライバーが DDI コンプライアンス ルール rqlIoDispatch に違反しました。
0x00020023 違反したルールの条件を説明する文字列へのポインター。 予約済み (未使用) 予約済み (未使用) ドライバーが DDI コンプライアンス ルール IrqlIoRtlZwPassive に違反しました。 IrqlIoRtlZwPassive規則は、ドライバーがIRQL = PASSIVE_LEVELで実行されている場合にのみ、規則に一覧表示されているDDIを呼び出すことを指定します。
0x00020024 違反したルールの条件を説明する文字列へのポインター。 予約済み (未使用) 予約済み (未使用) ドライバーが DDI コンプライアンス ルール IrqlNtifsApcPassive に違反しました。 IrqlNtifsApcPassive ルールは、ドライバーが IRQL = PASSIVE_LEVEL または IRQL <= APC_LEVEL で実行されている場合にのみ、ルールに記載されている DDI を呼び出すことを規定します。
0x00020025 違反したルールの条件を説明する文字列へのポインター。 予約済み (未使用) 予約済み (未使用) ドライバーが Microsoft 内部 DDI コンプライアンス ルール IrqlKeMore に違反しました。

0x00040003 から 0x00043006 - DDI コンプライアンス ルール違反

パラメーター 1 パラメータ 2 パラメーター 3 パラメーター 4 エラーの原因
0x00040003 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール CriticalRegions に違反しました。
0x00040006 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール QueuedSpinLock に違反しました。
0x00040007 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール QueuedSpinLockRelease に違反しました。
0x00040009 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール SpinLock に違反しました。
0x0004000A 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数) 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール SpinlockRelease に違反しました。
0x0004000E 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール GuardedRegions に違反しました。
0x0004100B 違反したルールの条件を記述する文字列へのポインター。 予約済み (未使用) 予約済み (未使用) ドライバーが DDI コンプライアンス ルール RequestedPowerIrp に違反しました。
0x0004100F 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール IoSetCompletionExCompleteIrp に違反しました。
0x00043006 違反したルールの条件を記述する文字列へのポインター。 予約済み (未使用) 予約済み (未使用) ドライバーが DDI コンプライアンス ルール PnpRemove に違反しました。

0x00081001 から 0x00082005 - AVStream ドライバーコンプライアンス ルール違反

パラメーター 1 パラメータ 2 パラメーター 3 パラメーター 4 エラーの原因
0x00081001 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsDeviceMutex に違反しました。
0x00081002 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsStreamPointerClone に違反しました。
0x00081003 違反したルールの条件を記述する文字列へのポインター。 予約済み (未使用) 予約済み (未使用) ドライバーが DDI コンプライアンス ルール KsStreamPointerLock に違反しました。
0x00081004 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsStreamPointerUnlock に違反しました。
0x00081005 違反したルールの条件を記述する文字列へのポインター。 予約済み (未使用) 予約済み (未使用) ドライバーが DDI コンプライアンス ルール KsCallbackReturn に違反しました。
0x00081006 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsIrqlDeviceCallbacks に違反しました。
0x00081007 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsIrqlFilterCallbacks に違反しました。
0x00081008 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsIrqlPinCallbacks に違反しました。
0x00081009 違反したルールの条件を記述する文字列へのポインター。 予約済み (未使用) 予約済み (未使用) ドライバーが DDI コンプライアンス ルール KsIrqlDDIs に違反しました。
0x0008100A 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsFilterMutex に違反しました。
0x0008100B 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsProcessingMutex に違反しました。
0x0008100C 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsInvalidStreamPointer に違反しました。
0x00082001 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsTimedPinSetDeviceState に違反しました。
0x00082002 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsTimedDeviceCallbacks に違反しました。
0x00082003 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsTimedFilterCallbacks に違反しました。
0x00082004 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsTimedPinCallbacks に違反しました。
0x00082005 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール KsTimedProcessingMutex に違反しました。

0x00091001 から 0x0009400C - NDIS DDI コンプライアンス ルール違反

パラメーター 1 パラメータ 2 パラメーター 3 パラメーター 4 エラーの原因
0x00091001 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール NdisOidComplete に違反しました。
0x00091002 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール NdisOidDoubleComplete に違反しました。
0x0009100E 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが DDI コンプライアンス ルール NdisOidDoubleRequest に違反しました。
0x00092003 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール NdisTimedOidComplete に違反しました。
0x0009200D 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール NdisTimedDataSend に違反しました。
0x0009200F 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール NdisTimedDataHang に違反しました。
0x00092010 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール NdisFilterTimedPauseComplete に違反しました。
0x00092011 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール NdisFilterTimedDataSend に違反しました。
0x00092012 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール NdisFilterTimedDataReceive に違反しました。
0x00093004 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール WlanAssociation に違反しました。
0x00093005 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール WlanConnectionRoaming に違反しました。
0x00093006 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール WlanDisassociation に違反しました。
0x00093101 違反したルールの条件を説明する文字列へのポインター。 予約済み (未使用) 予約済み (未使用) ドライバーが NDIS/WIFI 検証ルール WlanAssert に違反しました。
0x00094007 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール WlanTimedAssociation に違反しました。
0x00094008 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール WlanTimedConnectionRoaming に違反しました。
0x00094009 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール WlanTimedConnectRequest に違反しました。
0x0009400B 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール WlanTimedLinkQuality に違反しました。
0x0009400C 違反したルールの条件を記述する文字列へのポインター。 内部ルールの状態のアドレス (!ruleinfo の 2 番目の引数)。 補足状態のアドレス (!ruleinfo の 3 番目の引数)。 ドライバーが NDIS/WIFI 検証ルール WlanTimedScan に違反しました。

原因

原因については、「パラメーター」セクションの各コードの説明を参照してください。 詳細については、!analyze -v 拡張機能を使用して取得できます。

解決方法

このバグ チェックは、ドライバー検証ツールが 1 つ以上のドライバーを監視するように指示されている場合にのみ発生します。 ドライバー検証ツールを使用しない場合は、非アクティブ化してください。 この問題の原因となったドライバーを削除することも検討できます。

あなたがドライバーの作者である場合は、このバグ チェックで取得した情報を使用して、コード内のバグを修正してください。

ドライバー検証ツールの詳細については、「ドライバー検証ツール」を参照してください。

解説

_POOL_TYPE コードは Ntddk.h で列挙されます。 特に、0 は非ページ プールを示し、1 はページ プールを示します。

(Windows 8 以降のバージョンの Windows) DDI 準拠チェックによってバグ チェックが発生する場合は、ドライバーのソース コードで静的ドライバー検証ツールを実行し、バグの原因となった DDI コンプライアンス ルール(パラメーター 1 の値で識別) を規定します。 静的ドライバー検証ツールは、ソース コード内の問題の原因を特定するのに役立ちます。

関連項目

ドライバーの検証ツールが有効な場合のバグ チェックの処理