タイマー イベント操作
[このページに関連付けられている機能、マルチメディア タイマーは、従来の機能です。 これは、マルチメディアクラススケジューラサービスに置き換わりました. マルチメディア クラス スケジューラ サービス は、Windows 10 および Windows 11 用に最適化されています。 可能な場合は、マルチメディア タイマー ではなく、新しいコード マルチメディア クラス スケジューラ サービス使用することを強くお勧めします。 従来の API を使用する既存のコードは、可能であれば新しい API を使用するように書き直すよう提案しています。
アプリケーションのタイマー解決を確立したら、timeSetEvent 関数を使用してタイマー イベントを開始できます。 この関数は、タイマー イベントを停止または識別するために使用できるタイマー識別子を返します。 関数のパラメーターの 1 つは、タイマー イベントが発生したときに呼び出される TimeProc コールバック関数のアドレスです。
タイマー イベントには、1 つの と定期的な の 2 種類があります。 1 回のタイマー イベントは、指定したミリ秒後に 1 回発生します。 定期的なタイマー イベントは、指定したミリ秒が経過するたびに発生します。 定期的なイベントの間隔は、イベント遅延と呼ばれます。 イベント遅延が 10 ミリ秒以下の定期的なタイマー イベントでは、CPU リソースのかなりの部分が消費されます。
タイマー イベントの解決とイベント遅延の長さの関係は、タイマー イベントで重要です。 たとえば、5 の解像度と 100 のイベント遅延を指定した場合、タイマー サービスは、95 ~ 105 ミリ秒の間隔の後にコールバック関数に通知します。
timeKillEvent 関数を使用すると、アクティブなタイマー イベントをいつでも取り消すことができます。 コールバック関数を含むメモリを解放する前に、未処理のタイマーを取り消してください。
手記
マルチメディア タイマーは、独自のスレッドで実行されます。