Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Здравствуйте, zand, Вы писали:
Z>>Запускается и появляется в списке устройств, однако, ResourceList->NumberOfEntries() == 0!
ЕМ>Попробуйте сравнить с драйвером AC'97, который есть в примерах WDK/DDK. Собрать тот же пример, запустить его под VBox, отследить работу с ресурсами.
Спасибо за совет. В общем-то, это и было сделано в первую голову. Проблема в том, что система (portcls драйвер) НЕ выделяет ресурсы.
Впрочем, с этой проблемой я разобрался. Если кому интересно, технология HDAudio+UAA не подразумевает ВООБЩЕ работу с ресурсами, типа прерываний и DMA, напрямую.
Микрософт предлагает высокоуровневый интерфейс HDAUDIO_BUS_INTERFACE_V2, который реализован в драйвере hdaudio.sys — это еще одна прослойка между вашим function driver и portcls driver.
Информации об этом не сыщешь днём с огнём, всё приходится выцарапывать из разных непотребных мест...миксрософт он такой микрософт.
Они, мол, написали супер-пупер универсальный драйвер (чего быть не может по определению), который держит все спецификации.
И если производитель железяки всё сделает аккуратно, то всё будет хорошо работать. А производитель, например, кладёт болт на всё, хотя и пишет в даташите, что поддержка полная.
Это, допустим например, в доску китайский C-Media с их новым супер-пупер контроллером CMI-8888, который, якобы, полностью совместим с Intel HDAudio Spec.
А реальность такова, что не менее китайский ASUS ROG Xonar Phoebus, у которого на борту тот самый 8888, по причине, скорее всего, отсутствия в природе DAC 32бита, не имеет полной поддержки спецификации.
Ну и прошивки для 8888 с поддержкой 32 бита не существует, соотв. А может дело даже не в прошивке, а в реальных возможностях 8888 — сие науке не известно. Братья-китайцы молчат как рыба об лёд.
И всем пофигу, что мы выдрали из Пхоебиуса чип, запаяли на его основе собств. адаптер, подключили к нему собственный внешний DAC 32 бита...помощи не дождешься от них (крик души).
В общем, всё грустно, но если кому будут интересны подробности — спрашивайте, постараюсь ответить.