DirectSoundEnumerate () не отображает имя драйвера в Windows 7 - PullRequest
0 голосов
/ 24 марта 2011

У меня есть программа, скомпилированная в 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 вместо имени драйвера?

1 Ответ

1 голос
/ 25 марта 2011

«Имя драйвера», которое вы видите, представляет собой идентификатор конечной точки для аудио конечной точки, связанной с устройством DSound. Как правило, вы не должны предоставлять эту строку покупателю, а использовать описание устройства.

...