C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 18 を表示中)
■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
返信 編集キー/


管理者用

- Child Tree -