関数


プラットフォーム SDK
timeSetEvent

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

MMRESULT timeSetEvent(
  UINT uDelay,               
  UINT uResolution,          
  LPTIMECALLBACK lpTimeProc, 
  DWORD dwUser,              
  UINT fuEvent               
);

パラメータ

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 関数を呼び出す必要があります。

対応情報

  Windows NT/2000:Windows NT 3.1 以降
  Windows 95/98:Windows 95 以降
  ヘッダー:mmsystem.h 内で宣言
  インポートライブラリ:winmm.lib を使用

参照

Page view tracker