все. Это я снова, парень портировал WinPcap из протокола NDIS 6 на фильтр NDIS 6 :) Я столкнулся с ошибкой, которая задержала меня на два дня. Вот он: после того, как я установил драйвер npf6x.sys (оригинальный с именем npf.sys), услугу можно запустить с помощью «net start npf». Затем я открыл Wireshark. Затем сеть опустилась (восклицательный знак на значке в трее). После удаленной отладки я обнаружил, что процедура FilterReceiveNetBufferLists никогда не вызывается. Я считаю, что связь RX была нарушена. Однако FilterSendNetBufferLists вызывается нормально. Я уверен, что FilterAttach был успешно вызван, и теперь FilterUnload не вызывается. Поэтому модуль фильтра должен оставаться на своем месте. Но он просто не может работать на пути RX. Затем я нажал кнопку «Пуск» Wireshark, я неожиданно обнаружил, что сеть восстановилась. Затем я остановил текущий захват и нажал «Список интерфейсов», сеть снова опустилась. Это так странно.Почему мой драйвер фильтра NDIS 'FilterReceiveNetBufferLists обработчик не вызывается?
Я не изменил указатель обработчика в процессе работы драйвера. Кажется, что драйвер также не заблокирован замками. Может ли кто-нибудь сказать мне, есть ли какой-нибудь случай, чтобы NDIS не вызывал FilterReceiveNetBufferLists фильтра во время его работы?
Также есть какие-либо оффициальные документы, касающиеся адресации протокола NDIS 6 к фильтру NDIS 6? Я только нашел документы для портирования из NDIS 5 в NDIS 6.
спасибо.
Вот информация минипорт: Miniport Broadcom NetLink (TM) Gigabit Ethernet Выполняемые, ПРИВЯЗКИ: WinPcap NDIS Lightweight Filter-0000 8657a8f0 865ca008 85fc5000, после того, как я занесены «! Ndiskd.miniport -filterdb», я видел «85eb6b98 875230e0 Broadcom NetLink (TM) Gigabit Ethernet " – hsluoyz
Также я нашел ndis! NdisMIndicateReceiveNetBufferLists никогда не вызывается. ndis! NdisSendNetBufferLists можно вызвать, когда я выхожу. в DebugView я видел, что есть только TX-пакеты и OID-запросы, а не RX-пакеты. После ввода «! Ndiskd.minidriver» я увидел «85eb6b98 - k57nd60x», я не видел обработчик MiniportSendNetBufferLists, но я не думаю, что здесь проблема, потому что я использовал другой компьютер для непрерывного тестирования тестовой машины. – hsluoyz
После ввода «! Ndiskd.pendingnbls» вывод: PHASE 1/3: Найдено 23 пула (ов) NBL. ФАЗА 2/3: Найдено 55 освобожденных НБЛ. В ожидании Nbl В настоящее время проводится Не найдено ожидающих НБК. ФАЗА 3/3: Найдено 0 ожидающих NBL (-ей) 255 общего количества NBL (-ов). Поиск завершен. (похоже, все в порядке). Тест-машиной является Win7 x86, поэтому я не могу выполнить команду GetNetAdapterStatistics. – hsluoyz