Share via


コールバック関数を使用したドライバー メッセージの処理

独自のコールバック関数を記述して、デバイス ドライバーから送信されたメッセージを処理できます。 コールバック関数を使用するには、fdwOpen パラメーターに CALLBACK_FUNCTION フラグを指定し、waveInOpen 関数または waveOutOpen 関数の dwCallback パラメーターでコールバックのアドレスを指定します。

コールバック関数に送信されるメッセージは、ウィンドウに送信されるメッセージと似ていますが、UINTDWORD パラメーターの代わりに 2 つの DWORD パラメーターがあります。 これらのメッセージの詳細については、「 Waveform-Audio ファイルの再生」を参照してください。

アプリケーションからコールバック関数にインスタンス データを渡すには、次のいずれかの手法を使用します。

  • デバイス ドライバーを開く関数の dwInstance パラメーターを使用して、インスタンス データを渡します。
  • デバイス ドライバーに送信されるオーディオ データ ブロックを識別する WAVEHDR 構造体の dwUser メンバーを使用して、インスタンス データを渡します。

32 ビットを超えるインスタンス データが必要な場合は、追加情報を含む構造体へのポインターを渡します。