では、今回の騒動ではなぜプログラムが強制終了するにとどまらずブルースクリーンを起こすまでに至ったのか?
それは、問題のプログラムがカーネルモードドライバだったからなのだ
https://learn.microsoft.com/ja-jp/windows-hardware/drivers/gettingstarted/user-mode-and-kernel-mode
普通のプログラムはユーザーモードという制限されたモードで動く
ユーザーモードではメモリやデバイスへのアクセスはOSやカーネルモードドライバに頼んでやってもらう必要がある
そうすることで他のプログラムが使っているメモリ空間を侵食するなどの危ない動きができないようにしている
対してカーネルモードはほぼ制限なくメモリやデバイスにアクセスできる
今回の騒動を引き起こした製品はセキュリティのために他のプログラムの動きを検知したり止めたりする必要があるからカーネルモードで動かないといけないんだね
ただ、カーネルモードとはいえ、0x9c(156)なんていうアドレスにアクセスしようとしたら、そこは恐らくOSや他の重要なプロセスが使っている領域なので、OSは破壊を止めるためにカーネルモードだとしてもプログラムを強制的にクラッシュさせる可能性が高い
そしてWindowsでは、カーネルモードドライバがクラッシュすると事態を悪化させないうちに安全にセーフモードに移行できるようにOSが自決してシステムを止めるようになっている
こうしてコンピュータはブルースクリーンを映し出して止まるんだね