そのため、メモリ空間を でマッピングするとMmMapIoSpace
、特定のポイントを過ぎると、データが書き込まれたときに破棄されていることに気付きました。エラー、ブレークポイント、さらにはバグチェックもスローされませんでした。すべてが正常に機能し、悪影響はありませんでした。
書き込み/読み取りテストを実行することにしました (ドライバーは、意図したサイズの長さのすべてのバイトに 1 を書き込みます)。リーダー (ユーザーランド) モードは、1 が終了した場所を読み取り、報告します。
それが思いついた数字は 3208 で、これは一見素敵な丸数字です (/8=401、/256=12 など)。
これどうしたの?バッファ領域全体をマップできないのはなぜですか?
編集そして64ビットでは2492に落ちます。