<Return[D]><Top>

DeleteTimerQueueTimer

Declare Function Api_DeleteTimerQueueTimer& Lib "kernel32" Alias "DeleteTimerQueueTimer" (ByVal TimerQueue&, ByVal Timer&, ByVal CompletionEvent&)

Declare Function DeleteTimerQueueTimer Lib "kernel32" Alias "DeleteTimerQueueTimer" (ByVal TimerQueue As Long, ByVal Timer As Long, ByVal CompletionEvent As Long) As Long

タイマキュータイマを取り消す。

パラメータ
TimerQueue
    タイマキューのハンドルを指定する。CreateTimerQueue 関数で取得したハンドルを使う。
Timer
    タイマキュータイマのハンドルを指定する。CreateTimerQueueTimer 関数で取得したハンドルを使う。
CompletionEvent
    この関数が成功し、すべてのコールバック関数が完了したときにシグナル状態にするイベントを指定する。
    NULL を指定すると、関数はただちに制御を戻す。-1 を指定すると、この関数は、イベントが取り消され、関連するすべてのコールバック

    関数が完了するまで制御を戻さない。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、 関数を使う。

解説
    別のタイマのタイマコールバック関数からこの関数を呼び出すとき、そのコールバック関数をタイマスレッドで実行しなければ、

    CompletionEvent パラメータを -1 に設定できる。ただし、2 つのコールバック関数内から DeleteTimerQueueTimer 関数を呼び出して互い

    のタイマを取り消そうとすると、デッドロックが発生することがある。
    特定のタイマキューにあるすべてのタイマを取り消すには、DeleteTimerQueueEx 関数を使う。