<Return[WXYZ]><Top>

WaitForSingleObject

Declare Function Api_WaitForSingleObject& Lib "kernel32" Alias "WaitForSingleObject" (ByVal hHandle&, ByVal dwMilliseconds&)

Declare Function WaitForSingleObject Lib "kernel32" Alias "WaitForSingleObject" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long

次のいずれかが成立すると、制御を返す。
・指定されたオブジェクトがシグナル状態になった。
・タイムアウト時間が経過した。
アラート可能な待機状態に入るには、WaitForMultipleObjectsEx 関数を使う。
複数のオブジェクトを待機するには、WaitForMultipleObjects 関数を使う。

パラメータ
hHandle
    オブジェクトのハンドルを指定する。
    ハンドルが待機状態で未処理になっているときに、そのハンドルを閉じた場合、この関数の動作は未定義である。
    Windows NT/2000:このハンドルに、SYNCHRONIZE アクセス権を割り当てておかなければならない。
dwMilliseconds
    タイムアウト時間を、ミリ秒(ms)単位で指定する。

    タイムアウト時間が経過すると、オブジェクトが非シグナル状態であっても、制御を返す。0 を指定すると、この関数は指定されたオブジェクト

    の状態を調べ、即座に制御を返す。INFINITE を指定すると、オブジェクトがシグナル状態になるまで待機し続ける。
 

戻り値
    関数が成功すると、関数が制御を返した原因が返る。次の値のいずれかになる。

    値                               

意味                                                                                                                                        

    WAIT_ABANDONED

指定されたオブジェクトは、放棄されたミューテックスオブジェクトである(あるスレッドが所有権を持っていました

が、そのスレッドは所有権を解放しないで終了した)。この関数を呼び出した結果、そのミューテックスオブジェ

クトの所有権は呼び出し側スレッドに移り、そのミューテックスは非シグナル状態に設定された。

    WAIT_OBJECT_0

指定したオブジェクトがシグナル状態になったことを意味する。

    WAIT_TIMEOUT

タイムアウト時間が経過し、指定されたオブジェクトが非シグナル状態であったことを意味する。

    関数が失敗すると、WAIT_FAILED が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。