1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

NDIS 60

Тема в разделе "WASM.NT.KERNEL", создана пользователем rttgedt, 5 окт 2011.

  1. rttgedt

    rttgedt Антон

    Публикаций:
    0
    Регистрация:
    12 окт 2010
    Сообщения:
    85
    Использую пример из WDK - filter. В функциях FilterReceiveNetBufferLists\FilterSendNetBufferLists прохожу по списку NetBufferLists. Для каждого PNET_BUFFER узнаю размер связанных данных:
    DataLenght = NET_BUFFER_DATA_LENGTH(CurrNetBuffer);

    выделяю буфер соответствующего размера:
    Data = (UCHAR *) ExAllocatePoolWithTag(NonPagedPool, DataLenght, 32);

    и заполняю ее данными:
    NdisGetDataBuffer(CurrNetBuffer, DataLenght, Data, 1, 0);

    Теперь я ожидаю там увидеть IP-header, где в нулевом байте будет версия ip и длинна заголовка, а в девятом - номер протокола (для IPv4). Но нет, там совсем не то.. Пдскажите, пожалуйста, как работать с полученными данными?
     
  2. rttgedt

    rttgedt Антон

    Публикаций:
    0
    Регистрация:
    12 окт 2010
    Сообщения:
    85