重複の可能性:
BlueScreen のシミュレート
SOさん、こんにちは。
C コードで何らかの形でインラインで BSOD を誘発しようとしています。私の主なバックグラウンドは Java ですが、幸運なことに何人かの同僚から指導を受け、単純な C ユーティリティを手伝っています。
2 つのセクションがあります:
1) ハード ドライブへの書き込み (私はこれを完了しましたが、それほど悪くはありませんでした)
2) 最後の SCSI 書き込みコマンドを送信した直後にブルー スクリーンを強制します。
これでプログラムの意図を簡単に伝えることができるでしょう。
これまでに2つのことを試しました:
1)pskill.exe(Windowsユーティリティ)を外部から呼び出してcsrss.exeを手動でクラッシュさせ、csrss.exeはWindowsの必須サービスであるため、毎回ブルースクリーンを強制します。十分な速度がないため、これは機能しません。外部ユーティリティの呼び出しには時間がかかりすぎるため、コンピュータを十分に速くクラッシュさせるには、ディスクへの書き込みセクションでコンパイルするインライン コードが必要です。
2) Windows.h API を使用して TerminateProcess を呼び出します: http://msdn.microsoft.com/en-us/library/ms686714%28v=vs.85%29.aspx 問題は、この関数がシステム関連のタスクを終了できないことです。 csrss.exe を閉じることができません
これにより、オプションが不足しました。外部呼び出しなしで独自のネイティブ コードで csrss.exe を強制終了する巧妙な方法、または内部コードでブルー スクリーンを強制する巧妙な方法が必要です。 . KeBugCheck http://msdn.microsoft.com/en-us/library/ff551948.aspxを呼び出す 1 行と同じくらい短い可能性があります
お時間をいただきありがとうございます。