NDIS IM

Home Forums Discussions Support NDIS IM

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #5102
    Dmitry_177
    Participant

      Почитав интернете про написание NDIS драйвера, у меня возникло несколько вопросов Нужно все входящие/исходящие пакеты сохранять в файл.. В какой-то статье в интернете разобраны функции MPSend минипорта и PtReceive протокола, в которых я как понимаю можно скопировать пакет для работы с ним.. А вот что делать с остальными функциями, такими как MPInitialize, MPQueryInformation, MPSetInformation и др. из минипорта и PtOpenAdapterComplete, PtCloseAdapterComplete, PtSendComplete и др. из протокола? Нужно ли их вообще прописывать в структурах MChars и PChars в DriverEntry? Или можно заместо них указать просто NULL? Или они все же нужны, а их можно просто скопировать из примера в DDK passthru?

      Нужно все входящие/исходящие пакеты сохранять в файл..

      Как лучше сохранять пакеты в файл? Непосредственно в самом драйвере функцией ZwWriteFile или передавать сохраняемую информацию в программу, чтобы уже она сохраняла?

      #6257
      Vadim Smirnov
      Keymaster

        Обязательность или опционально сть обработчиков в NDIS_PROTOCOL_CHARACTERISTICS и NDIS_MINIPORT_CHARACTERISTICS описана в DDK, большинство из них нужны.

        Сохранять в файл можно и из ядра (лучше из отдельного потока работающего на IRQL_PASSIVE_LEVEL, так как receive всегда приходит на IRQL_DISPATCH_LEVEL).

        #6258
        Dmitry_177
        Participant

          Обязательность или опционально сть обработчиков в NDIS_PROTOCOL_CHARACTERISTICS и NDIS_MINIPORT_CHARACTERISTICS описана в DDK, большинство из них нужны.

          Подскажи пожалуйста в каком разделе в DDK это можно почитать?

          лучше из отдельного потока работающего на IRQL_PASSIVE_LEVEL

          т.е. лучше создавать свой поток в драйвере при сохранении? какойнибудь там ZwCreateThread функцией?

          #6259
          Vadim Smirnov
          Keymaster

            Подскажи пожалуйста в каком разделе в DDK это можно почитать?

            Описание NdisRegisterProtocol например…

            т.е. лучше создавать свой поток в драйвере при сохранении? какойнибудь там ZwCreateThread функцией?

            PsCreateSystemThread

          Viewing 4 posts - 1 through 4 (of 4 total)
          • You must be logged in to reply to this topic.