NDIS IM Driver + Vista

Тема в разделе "WASM.NT.KERNEL", создана пользователем ov4inka, 16 ноя 2009.

  1. ov4inka

    ov4inka New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2008
    Сообщения:
    37
    Доброго всем времени суток!

    Столкнулся с проблемой портирования драйвера с XP на Висту.
    Пишу Драйвер шифрования пакетов. Да вот только шифрование используется не тривиальное и периодически необходимо драйверам общаться друг с другом без посторонних пакетов. И вот проблема:
    в XP я использовал такой нехитрый механизм - проверял все входящие пакеты в PtReceive и PtReceivePacket, и при обнаружении своего сохранял пакет в памяти (меняя при этом Source Ethernet с Desteny Ethernet и Source IP c Desteny IP местами). После этого немного изменял данные, пересчитывал CHecksum и вызывал NdisSend(&Status, pAdapt->BindingHandle, MyPacket);

    Все просто и работало. Но на висте уперлось и не хочет пакеты отправлять! То есть по факту все функции вызываются и даже вызывается функция PtSendComplete в которую приходит мой пакет и я проверяю на то, что это мною созданный пакет и не надо вызывать NdisMSendComplete, а просто очистить память... Но ничего не отправляется!

    Подскажите, люди добрые, а то совсем голову сломал... Если подскажете более умный механизм ответа из драйвера, буду еще более благодарен!
     
  2. eagersh

    eagersh New Member

    Публикаций:
    0
    Регистрация:
    4 дек 2009
    Сообщения:
    2
    Попробуйте использовать NDIS extension в WinDbg .Также не помешает посмотреть что выходит из NIC каким нибудь Network analyzer например Wireshark.