Делаю следующее: регистрирую NDIS протокол и открываю адаптер. Последнее проходит успешно, НО трафик через этот протокол нифига не идет. Казалось бы - что такого? Но нет! После остановки драйвера и повторного запуска всё работает как положено, трафик проходит. А хочется-то всё и сразу. Как бороться с этой фигней?
1) проверь все return values и выведи их в DbgPrint() 2) прогони всё под driver verifier P.S. я думаю что у тебя где-то uninitialized variables...
Как выяснилось, до включения promiscuous mode никакой траф не идет вообще. Проблема возникает в случае, когда нижний драйвер возвращает ошибку на запрос перехода в promiscuous (проблема возникает в vmware, на реальных машинах пока не попадалось). Обнаруживается не сразу, т.к. результат приходит в ProtocolRequestComplete Видимо, это какой-то прикол вмварного драйвера - сначала говорить "не реализовано", а потом - "всё хорошо"...