■6989 / ) |
Re[11]: WaitForSingleObjectリターンしたのに実行中 |
□投稿者/ 魔界の仮面弁士 (391回)-(2007/08/28(Tue) 13:48:16)
|
■No6986 (ふせっち さん) に返信 > 「WaitForSingleObject」は、対象のスレッドが終了しないでもリターンしてしまうのか? アプリケーションの終了という話が出ていたので、「プロセス」を監視していたのだと 思ったのですが、実際に監視しているのは「スレッド」だったのでしょうか?
> また、戻り値「1」ってナンだ? > と言うことなのです。
幾つか確認させてください。
(1) その C++ アプリから、何か別のアプリケーションを起動していますか? 起動させている場合、それは同期実行でしょうか。非同期実行でしょうか。
(2) 戻り値「1」とは、VBScript 上ではなく、C++ アプリ上で取得・確認したものですよね? WshShell.Run で得られる ExitCode(ERRORLEVEL) と API の戻り値は、直接は関係が無いはずなので、 VBScript 側で得られる情報を提示されても、問題の切り分けができません。
(3) そもそも、WaitForSingleObject で、いったい何を監視させているのでしょうか? プロセスなのか、スレッドなのか、それとも他のシグナルなのか。
(4) 使用している API は、間違いなく WaitForSingleObject なのでしょうか? MsgWaitForMultipleObjects(Ex) であれば、「1」を返す可能性もありますが、 WaitForSingleObject の場合は、下記の「いずれか」が返される仕様のはずなので。 0x00000000L : WAIT_OBJECT_0 0x00000080L : WAIT_ABANDONED 0x00000102L : WAIT_TIMEOUT
|
|