システムでインターセプトされるデバイス メッセージ
次の Windows マルチメディア関数は、発信者が従来のオーディオ デバイスにメッセージを渡す方法を提供しま:
これらのデバイス メッセージの一部はデバイス ドライバーによって直接処理され、一部はデバイスに代わってシステムによって処理されます。
このセクションでは、システムによってインターセプトされ、デバイス ドライバーに渡されることなく処理されるメッセージのみについて説明します。 システムによってインターセプトされたメッセージは、音声通信または一般的なオーディオ使用のための優先デバイスを取得できます。 さらに、システムによって傍受されたメッセージは、特定のデバイスに関する次の情報を提供する可能性があります。
デバイスインターフェース名
デバイス インターフェイス名の詳細情報は、デバイス インターフェイスの概要を参照してください。
デバイスのプラグ アンド プレイ Devnode 番号
Devnode の詳細情報は、デバイス ツリーを参照してください。
デバイスがマッパーで使用できるかどうか
マッパーは、アプリケーションの要件をシステム内の利用可能なデバイスの 1 つにマッピングすることにより、適切なデバイスを選択します。 マッパーの詳細については、Microsoft Windows SDK のドキュメントを参照してください。
他の種類のデバイス メッセージについては、Windows SDK のドキュメントを参照してください。
XxxMessage 関数の構文は次のとおりです:
DWORD XxxMessage(
<device ID>,
UINT uMsg,
DWORD_PTR dwParam1,
DWORD_PTR dwParam2
);
最初のパラメータはデバイス ID です。 auxOutMessage 関数定義では、予想どおり、このパラメーターが UINT 型であるように指定されています。 ただし、waveInMessage、waveOutMessage、midiInMessage、midiOutMessage、または mixerMessage の場合、呼び出し元は、タイプ HWAVEIN、HWAVEOUT、HMIDIIN、HMIDIOUT、または HMIXER をそれぞれ処理するためにデバイス ID をキャストする必要があります。 呼び出し元がこのパラメータのデバイス ID の代わりに有効なハンドルを指定した場合、関数は失敗し、エラー コード MMSYSERR_NOSUPPORT を返すことに注意してください。
uMsg パラメータはメッセージ値 (DRV_QUERYDEVICEINTERFACE など) を指定します。 ドライバー固有のメッセージのリストについては、ヘッダー ファイル Mmddk.h を参照してください。
パラメータ dwParam1 および dwParam2 の意味はメッセージによって異なります。 たとえば、特定のメッセージでは、dwParam1 が ULONG 値であることが必要な場合があります。呼び出し元は、関数定義を満たすために、この値を DWORD_PTR 型にキャストする必要があります。
この関数は、呼び出しが成功した場合は MMERR_NOERROR を返し、失敗した場合はエラー ステータス コードを返します。
XxxMessage 関数の詳細については、Windows SDK のドキュメントを参照してください。
ヘッダー ファイル Mmddk.h は、システムによってインターセプトされた次のデバイス メッセージを定義します。
詳細情報は、デバイス インターフェイス名の取得を参照してください。
詳細情報は、デバイス インターフェイス名の取得を参照してください。
デバイスの Devnode 番号をクエリします。
デバイスがマッパーで使用できるかどうかを問い合わせます。
DRVM_MAPPER_CONSOLEVOICECOM_GET
詳細情報は、優先音声通信デバイス IDを参照してください。
詳細情報は、優先デバイス ID へのアクセスを参照してください。