<Return[T]><Top>

timeSetEvent

Declare Function Api_timeSetEvent& Lib "winmm" Alias "timeSetEvent" (ByVal uDelay&, ByVal uResolution&, ByVal lpFunction&, ByVal dwUser&, ByVal uFlags&)

Declare Function timeSetEvent Lib "winmm" (ByVal uDelay As Long, ByVal uResolution As Long, ByVal lpFunction As Long, ByVal dwUser As Long, ByVal uFlags As Long) As Long

指定されたタイマイベントを開始する。マルチメディアタイマは独自のスレッドで動作する。このイベントがアクティブ化された後は、指定されたコールバック関数を呼び出すか、指定されたイベントオブジェクトを設定またはパルスする。

パラメータ
uDelay
    イベント遅延をミリ秒で指定する。この値が、タイマでサポートされるイベント遅延の最小値から最大値までの範囲にない場合、関数はエラ

    ーを返す。
uResolution
    タイマイベントの分解能をミリ秒で指定する。値が小さいほど、分解能が増加する。分解能が 0 の場合は、最も可能な精度で周期イベント

    が発生する。ただし、システムのオーバーヘッドを減らすには、アプリケーションに適した最大値を使うようにする。
lpTimeProc
    1 つのイベントの満了に対して 1 度、または周期イベントの満了に対して定期的に呼び出す、コールバック関数のアドレスを指定する。

    fuEvent パラメータで TIME_CALLBACK_EVENT_SET フラグまたは TIME_CALLBACK_EVENT_PULSE フラグを指定する場合、

    lpTimeProc パラメータはイベントオブジェクトのハンドルと解釈される。イベントは、1 つのイベントの完了ごとに、または周期イベントの完了に

    よって定期的に、設定またはパルスされる。
dwUser
    ユーザーが提供するコールバックデータを指定する。
fuEvent
    タイマイベントのタイプを指定する。このパラメータには、次の値のいずれかが入る。

    値                          

意味                                                                                           

    TIME_ONESHOT

イベントは、uDelay ミリ秒経過後に 1 度発生する。

    TIME_PERIODIC

イベントは、uDelay ミリ秒ごとに発生する。

    fuEvent パラメータには、次の値のいずれかが入る場合もある。

    値                                                      

意味                                                                                                                    

    TIME_CALLBACK_FUNCTION

 

タイマの期限が切れると、Windows は lpTimeProc パラメータが示す関数を呼び出す。これは既定である。

    TIME_CALLBACK_EVENT_SET

 

タイマの期限が切れると、Windows は SetEvent 関数を呼び出して、lpTimeProc パラメータが示すイベントをセットする。dwUser パラメータは無視される。

    TIME_CALLBACK_EVENT_PULSE

 

タイマの期限が切れると、Windows は PulseEvent 関数を呼び出して、lpTimeProc パラメータが示すイベントをパルスする。dwUser パラメータは無視される。

 

戻り値
    関数が成功すると、タイマイベントの識別子が返る。関数が失敗すると、エラーが返る。

    関数が失敗してタイマイベントが作成されなかった場合、この関数は NULL を返す(この識別子はコールバック関数に渡される)。

解説
    周期タイマイベントに対して timeSetEvent 関数を呼び出すたびに、それに対応する timeKillEvent 関数を呼び出す必要がある。