0

Windows XPでコンパイルされたプログラムがあり、Windows 7(x86とx64の両方)で実行しようとしています。プログラムはDirectSound8を使用して、マシン上のすべてのサウンドデバイスを列挙します。問題は、列挙関数がWindowsXPとWindows7のドライバー名DirectSoundEnumerate(...)に対して異なる結果を返すことです。

Windows XP
デバイスGUID=
デバイスの説明=プライマリサウンドドライバー
ドライバー名=

デバイスGUID={bd6dd71a-3deb-11d1-b171-00c04fc20000}
デバイスの説明=SigmaTelAudio
ドライバー名=sthda.sys

Windows 7 x86
デバイスGUID=
デバイスの説明=プライマリサウンドドライバー
ドライバー名=

デバイスGUID={4a1bd997-3986-4b7a-af02-7143e86af46c}
デバイスの説明=スピーカー/ヘッドフォン(SigmaTel High Definition Audio CODEC)
ドライバー名={0.0.0.00000000}。{4a1bd997-3986-4b7a-af02-7143e86af46c}

Windows 7 x64
デバイスGUID=
デバイスの説明=プライマリサウンドドライバー
ドライバー名=

デバイスGUID={aaee894b-7a80-44ff-805c-8d5e12207136}
デバイスの説明=スピーカー/ヘッドフォン(SigmaTel High Definition Audio CODEC(64ビットWindows用))
ドライバー名={0.0.0.00000000}。{aaee894b-7a80-44ff-805c-8d5e12207136}

上記の3台のマシンは、DellPrecision390と同じ構成です。

DX9SDK_DEC2005からの「DSound.lib」へのプログラムリンク。

Windows 7がドライバー名ではなくGUIDとしてドライバー名を返す理由を誰かが知っていますか?

4

1 に答える 1

1

表示されている「ドライバー名」は、DSoundデバイスに関連付けられているオーディオエンドポイントのエンドポイントIDです。一般に、この文字列を顧客に提示するのではなく、デバイスの説明を使用してください。

于 2011-03-25T05:40:32.717 に答える