バグ チェック 0xC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION バグ チェックには、0x000000C1 の値があります。 これは、ドライバーが特別なプールの無効なセクションに書き込んだことを示します。
重要
この記事は、プログラマー向けです。 コンピューターを使用中に、ブルー スクリーン エラーが表示された場合は、「ブルー スクリーン エラーのトラブルシューティング」を参照してください。
SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION パラメーター
パラメーター 4 は違反の種類を示します。
パラメーター 1 | パラメータ 2 | パラメーター 3 | パラメーター 4 | エラーの原因 |
---|---|---|---|---|
ドライバーが解放しようとしたアドレス |
予約されています。 |
0 |
0x20 |
ドライバーが、割り当てられなかったプールを解放しようとしました。 |
ドライバーが解放しようとしたアドレス |
要求されたバイト数 |
計算されたバイト数 (実際には呼び出し元に渡されます) |
0x21。 0x22 |
ドライバーが不適切なアドレスを解放しようとしました。 |
ドライバーが解放しようとしたアドレス |
ビットが破損しているアドレス |
予約されています。 |
0x23 |
ドライバーはアドレスを解放しましたが、同じページ内の近くのバイトが破損しています。 |
ドライバーが解放しようとしたアドレス |
ビットが破損しているアドレス |
予約されています。 |
0x24 |
ドライバーはアドレスを解放しましたが、割り当ての終了後に発生したバイトが上書きされました。 |
現在の IRQL |
プールの種類 |
バイト数 |
0x30 |
ドライバーが不適切な IRQL でプールを割り当てようとしました。 |
現在の IRQL |
プールの種類 |
ドライバーが解放しようとしたアドレス |
0x31 |
ドライバーが不適切な IRQL でプールを解放しようとしました。 |
ドライバーが解放しようとしたアドレス |
1 ビットが破損しているアドレス |
予約されています。 |
0x32 |
ドライバーはアドレスを解放しましたが、同じページ内の近くのバイトには 1 ビット エラーがあります。 |
_POOL_TYPE コードは ntddk.h で列挙されます。 特に、0 は非ページ プールを示し、1 はページ プールを示します。
原因
ドライバーが特別なプールの無効なセクションに書き込まれた。
解決方法
現在のスレッドのバックトレースを取得します。 通常、このバックトレースはエラーの原因を明らかにします。
特別なプールについて詳しくは、Windows Driver Kit の「ドライバー検証ツール」セクションをご覧ください。