2

私は winmm api を使用してオーディオを処理しています。「オーディオライン」を一意に識別するためにwaveInGetDeviceCapsandを使用しています。waveInMessageVista では、デバイスの名前がWaveInCaps構造体によって 32 文字に制限されていることを除いて、すべて正常に動作します。

これを回避するために、OS バージョンが >= Vista の場合にコア API を使用することを想定しています。IMMDeviceEnumerator.GetDeviceとを使用してIMMDeviceEnumerator.EnumAudioEndpointsオーディオ ライン情報を収集していますが、コア API の下の 1 つのデバイスが waveXx API の下の 1 つのエントリに関連していることを確認する方法がわかりません。

両方のデバイスパスを比較できると思いますが、それはデバイスパス文字列を「不透明」として扱うというMSの推奨に反します。

あなたは何と言うでしょう?

4

2 に答える 2