Минидрайвер для драйвера класса AVStream

Тема в разделе "WASM.NT.KERNEL", создана пользователем binom, 2 окт 2008.

  1. binom

    binom New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2006
    Сообщения:
    12
    Занимаюсь разрботкой минидрайвера для PCI карты видеозахвата. Драйвер написал, и пытаюсь корректно его установить в систему. Необходимо чтобы:
    1)мое устройстово появилось в списке Диспетчера устройств;
    2)в списке фильтров в Graph Edit появился фильтр соответствующий моему минидрайверу.

    С первым проблем нет. Обычный inf файл и драйвер нормально отрабатывает все шаги при старте карточки. Но в списке фильтров он не появляется. Я так понимаю причина этого в том, что для класса устройств видео захвата надо зарегистрировать мой фильтр. Насколько я поинмаю это делается использованием следующей секции в inf файле(ЕСЛИ Я НЕ ПРАВ, ОГРОМНАЯ ПРОСЬБА МЕНЯ ПОПРАВИТЬ):

    [vcbDriver.Interfaces] ;GUID=KSCATEGORY_CAPTURE
    AddInterface={65E8773D-8F56-11D0-A3B9-00A0C9223196},%MY_FILTER_ID%,vcbDriver_MyCapture,

    [vcbDriver_MyCapture]
    AddReg=vcbDriver.MyCapture.AddReg

    [vcbDriver_MyCapture.AddReg]
    HKR,,CLSID,,{17CCA71B-ECD7-11D0-B908-00A0C9223196}
    HKR,,FriendlyName,,%vcbDriver.FriendlyName%

    Так вот тут у меня проблема:
    В реестре не создаются необходимые записи, а соответственно, получается, не отрабатывает секция [vcbDriver_MyCapture.AddReg].

    Если руками вбить в реестре соответствующий подраздел Device Parameters, то фильтр появлятется в Graph Edit.
    Таким образом,
    ВОПРОС ПЕРВЫЙ:
    почему может не выполнятся секция [vcbDriver_MyCapture.AddReg]??


    Далее по ходу появляются новые проблемы:
    При добавлении фильта Нормально вызывается и отрабатывает функция диспетчеризации Create для фильтра.
    При соединении пина моего фильтра с пином рендера нормльно вызываются и отрабатывают фунции диспетчеризации SetFormat и Create для пина.
    А вот после этого начинаются проблемы при нажатии на кнопку Play в Graph Edit появлятеся диалоговое окно с сообщением: [This graph can't play. неверная функция: (Return error:0x80070001)].
    Таким образом,
    ВОПРОС ВТОРОЙ:
    В чем здесь проблема? Возможно я что-то еще не сделал в inf файле?