У меня есть программа, скомпилированная в Windows XP, и сейчас я пытаюсь запустить ее в Windows 7 (как x86, так и x64). Программа использует DirectSound8 для перечисления всех звуковых устройств на машине. Проблема в том, что функция перечисления DirectSoundEnumerate(...)
возвращает разные результаты для имя драйвера в Windows XP и Windows 7.
<b>Windows XP</b>
Device GUID =
Device description = Primary Sound Driver
Driver name =
Device GUID = {bd6dd71a-3deb-11d1-b171-00c04fc20000}
Device description = SigmaTel Audio
Driver name = sthda.sys
<b>Windows 7 x86</b>
Device GUID =
Device description = Primary Sound Driver
Driver name =
Device GUID = {4a1bd997-3986-4b7a-af02-7143e86af46c}
Device description = Speakers / Headphones (SigmaTel High Definition Audio CODEC)
Driver name = {0.0.0.00000000}.{4a1bd997-3986-4b7a-af02-7143e86af46c}
<b>Windows 7 x64</b>
Device GUID =
Device description = Primary Sound Driver
Driver name =
Device GUID = {aaee894b-7a80-44ff-805c-8d5e12207136}
Device description = Speakers / Headphones (SigmaTel High Definition Audio CODEC (for 64-bit Windows))
Driver name = {0.0.0.00000000}.{aaee894b-7a80-44ff-805c-8d5e12207136}
Три перечисленных выше компьютера имеют одинаковую конфигурацию Dell Precision 390.
Ссылка на программу "DSound.lib" из DX9SDK_DEC2005.
Кто-нибудь знает, почему Windows 7 возвращает имя драйвера в виде GUID вместо имени драйвера?