コールバック関数を使用したドライバー メッセージの処理
独自のコールバック関数を記述して、デバイス ドライバーから送信されたメッセージを処理できます。 コールバック関数を使用するには、fdwOpen パラメーターに CALLBACK_FUNCTION フラグを指定し、waveInOpen 関数または waveOutOpen 関数の dwCallback パラメーターでコールバックのアドレスを指定します。
コールバック関数に送信されるメッセージは、ウィンドウに送信されるメッセージと似ていますが、UINT と DWORD パラメーターの代わりに 2 つの DWORD パラメーターがあります。 これらのメッセージの詳細については、「 Waveform-Audio ファイルの再生」を参照してください。
アプリケーションからコールバック関数にインスタンス データを渡すには、次のいずれかの手法を使用します。
- デバイス ドライバーを開く関数の dwInstance パラメーターを使用して、インスタンス データを渡します。
- デバイス ドライバーに送信されるオーディオ データ ブロックを識別する WAVEHDR 構造体の dwUser メンバーを使用して、インスタンス データを渡します。
32 ビットを超えるインスタンス データが必要な場合は、追加情報を含む構造体へのポインターを渡します。