2012年8月24日金曜日

IIS6で、CGIアプリが致命的なエラーになった場合

SetErrorMode

私のWindows 7パソコンにて実行した場合: 0

  • 0
  • システム既定の処理を行い、どの場合でもエラーダイアログボックスを表示します。

IIS6のCGIにて実行した場合: 32769

  • 1
  • SEM_FAILCRITICALERRORS
  • システムは、致命的なエラーに関するメッセージボックスを表示せず、呼び出し側プロセスへそのエラーを送信します。

  • 32768
  • SEM_NOOPENFILEERRORBOX
  • システムは、ファイルが見つからなかった場合にメッセージボックスを表示せず、呼び出し側プロセスへそのエラーを返します。


SetErrorModeの初期値が異なる、という事でございますが…

SEM_FAILCRITICALERRORSの件の

呼び出し側プロセスへそのエラーを送信しますって怖くないでしょうか?

子プロセスで0xC0000005(アクセス違反)が発生したら、
親プロセスも0xC0000005(アクセス違反)で、強制終了を喰らうという事でしょうか??



次の様なこういう構成なのですが、

親プロセス=CMD.exe
子プロセス=COM/OLEを使って実現している、サムネイル生成用の物

親プロセスまで0xC0000005が伝播している事例を、今までに見たことがあるような、そんな気がしています。

0 件のコメント:

コメントを投稿