DRVM_MAPPER_PREFERRED_GET関数
DRVM_MAPPER_PREFERRED_GET メッセージは、優先オーディオ デバイスのデバイス ID を取得します。
構文
DWORD xxxMessage(
UINT uDeviceID,
UINT uMsg,
DWORD_PTR dwParam1,
DWORD_PTR dwParam2
);
パラメーター
uDeviceID
対象デバイスの ID を指定します。 適切な関数で使用するためにこの値をキャストする方法の詳細については、以下の「解説」セクションを参照してください。uMsg
呼び出し元は、xxxMessage を呼び出してこのデバイス メッセージを処理するときに、このパラメーターを DRVM_MAPPER_PREFERRED_GET に設定します。dwParam1
デバイス ID へのポインター。 このパラメーターは、関数が現在の優先デバイスのデバイス ID を書き込む DWORD 変数を指します。 この関数は、優先デバイスとして適格なデバイスがない場合、値 (-1) を書き込みます。dwParam2
状態フラグへのポインター。 このパラメーターは、関数がデバイス ステータス フラグを書き込む DWORD 変数を指します。 現在定義されているフラグ ビットは 1 つだけです (waveInMessage 呼び出しと waveOutMessage 呼び出しの場合のみ): DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY。 詳細については、「解説」を参照してください。
戻り値
xxxMessage 関数は、メッセージが正常に処理された場合、MMSYSERR_NOERROR を返します。 成功しなかった場合は、適切なエラー コードを返します。
解説
このメッセージは、waveInMessage、waveOutMessage、および midiOutMessage 関数に対してのみ有効です。 呼び出し元が DRVM_MAPPER_PREFERRED_GET メッセージを使用してこれらの関数を呼び出す場合、呼び出し元は、最初にデバイス ID を WAVE_MAPPER (waveInMessage または waveOutMessage の場合)、または MIDI_MAPPER (midiOutMessage の場合) として指定してから、この値を適切なハンドルの種類にキャストする必要があります。 waveInMessage、waveOutMessage、または midiOutMessage 関数の場合、呼び出し元は、デバイス ID をハンドル型 HWAVEIN、HWAVEOUT、または HMIDIOUT にそれぞれキャストする必要があります。 呼び出し元がこのパラメーターのデバイス ID ではなく有効なハンドルを指定した場合、関数は失敗し、エラー コード MMSYSERR_NOSUPPORT を返します。
システムはこのメッセージをインターセプトし、デバイス ドライバーにメッセージを送信することなく適切な値を返します。 システム インターセプト xxxMessage 関数の一般的な情報については、「システムインターセプトされたデバイス メッセージ」を参照してください。
このメッセージは、音声通信に対してどのデバイスが優先されているかが判断される、DRVM_MAPPER_CONSOLEVOICECOM_GET メッセージとは異なり、音声機能全般に対してどのデバイスが優先されているかを判断する方法を提供します。
dwParam2 が指す DWORD の場所に DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY フラグ ビットが設定されている場合、waveIn および waveOut API は現在の優先デバイスのみを使用し、優先デバイスが使用できない場合には他の使用可能なデバイスの検索を行いません。 midiOutMessage 関数はこのフラグを出力しないことに注意してください。midiOut API は常に優先デバイスのみを使用します。 waveInMessage または waveOutMessage 呼び出しによって出力されるフラグは、waveInMessage と waveOutMessage のどちらに対して呼び出しが行われるかに関係なく、waveIn API と waveOut API の両方の優先デバイスに適用されます。
xxx メッセージ関数は、アプリケーションが最初にデバイスを開かなくても既定のデバイス ID を決定できるようにするために、有効なデバイス ハンドルの代わりにこの値を受け入れます。 詳細については、「優先デバイス ID へのアクセス」を参照してください。
要件
対象プラットフォーム |
デスクトップ |
バージョン |
Microsoft Windows Me および Windows 2000 以降のオペレーティング システムでサポートされます。 |
ヘッダー |
Mmddk.h (Mmddk.h を含む) |