SleepEx |
Declare Function Api_SleepEx Lib "kernel32" Alias "SleepEx" (ByVal dwMilliseconds&, ByVal bAlertable&) |
Declare Function SleepEx Lib "kernel32" (ByVal dwMilliseconds As Long, ByVal bAlertable As Long) As Long |
|
現在のスレッドを中断する。次の条件のいずれかが満たされると、実行を再開する。 ・I/O 完了コールバック関数が呼び出された。 ・非同期プロシージャコール(APC)オブジェクトが、スレッドの ACP キューに置かれた。 ・タイムアウト時間が経過した。 |
|
パラメータ 0 を指定すると、優先順位が等しく実行の準備ができているほかのスレッドに残りのタイムスライスを譲る。 現在のスレッドは、そのようなスレッドが存在しない場合は、この関数は即座に制御を返す。
INFINITE を指定すると、実行が無制限に中断される。 FALSE を指定すると、タイムアウト時間が経過するまで、この関数は制御を返さない。 I/O 完了コールバックが発生した場合も、この関数は制御を返さず、I/O 完了コールバック関数を実行しない。
APC がスレッドのキューに置かれた場合も、この関数は制御を返さず、APC 関数を実行しない。 ムアウト時間が経過するか、I/O 完了コールバック関数が呼び出された時点で、SleepEx 関数が制御を返す。 I/O 完了コールバックが発生すると、I/O 完了コールバック関数を呼び出す。 同様に、QueueUserAPC 関数が APC オブジェクトをスレッドのキューに置いた場合、タイムアウト時間が経過するか、APC 関数が呼び出
された時点で、SleepEx 関数が制御を返す。 |