次の方法で共有


タイマー コールバック関数の記述

[このページに関連付けられている機能、マルチメディア タイマーは、従来の機能です。 これは、マルチメディアクラススケジューラサービスに置き換わりました. マルチメディア クラス スケジューラ サービス は、Windows 10 および Windows 11 用に最適化されています。 可能な場合は、マルチメディア タイマー ではなく、新しいコード マルチメディア クラス スケジューラ サービス使用することを強くお勧めします。 従来の API を使用する既存のコードは、可能であれば新しい API を使用するように書き直すよう提案しています。

手記

このトピックでは、古い関数について説明します。 新しいアプリケーションでは、CreateTimerQueueTimer 関数を使用してタイマーを作成する必要があります。

 

次のコールバック関数 OneShotTimer は、シングル タイマー イベントの識別子を無効にし、タイマー ルーチンを呼び出してアプリケーション固有のタスクを処理します。 詳細については、TimeProcを参照してください。

void CALLBACK OneShotTimer(UINT wTimerID, UINT msg, 
    DWORD dwUser, DWORD dw1, DWORD dw2) 
{ 
    NPSEQ npSeq;             // pointer to sequencer data 
    npSeq = (NPSEQ)dwUser;
    npSeq->wTimerID = 0;     // invalidate timer ID (no longer in use)
    TimerRoutine(npSeq);     // handle tasks 
} 

マルチメディアタイマーの使用