プラットフォーム 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 を使用
参照
、、