NDIS_MINIPORT_BLOCK

Home Forums Discussions General NDIS_MINIPORT_BLOCK

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #5169
    steelfactor
    Participant

      Сорри за может быть ламерский вопрос, но как можно в ядре получить указатель на NDIS_MINIPORT_BLOCK?

      #6537
      Vadim Smirnov
      Keymaster

        При каких исходных данных?

        #6538
        steelfactor
        Participant

          Не судите строго, опыта работы с NDIS почти нет…
          Вообщем речь идет о перехвате отдельных NDIS функций. Ядро, драйвер, который патчит экспорт ndis.sys. Первое, что приходит на ум обычно – заменить обработчики в NDIS_OPEN_BLOCK. Как его получить указатель на NDIS_OPEN_BLOCK или NDIS_PROTOCOL_BLOCK известно. Но хотелсь бы еще заиметь указатель на NDIS_MINIPORT_BLOCK, который тоже содержит отдельные обработчики работы с пакетами.
          Чувствую, что страшно туплю и задача должна решаться элементарно, но сильно ногами не пинайте, плз ))
          //
          Единственное, что приходит на ум – это аналогия с получением NDIS_OPEN_BLOCK – NDIS_HANDLE минипорта, (полученный как?) привести к типу NDIS_MINIPORT_BLOCK?

          #6539
          steelfactor
          Participant

            Вот к чему пришел на данный момент:
            вызов функций
            NdisMInitializeWrapper (и иэже с ними) вернет NDIS_HANDLE для ВНОВЬ зарегистрированного минипорта в системе, который можно будет привести к типу NDIS_MINIPORT_BLOCK, верно?
            Но как получить хендл минипорта УЖЕ установленного в системе для конкретной сетевой карты ?

            #6540
            ClickF1
            Participant

              Ну если ты указатель на NDIS_PROTOCOL_BLOCK уже получил, то дальше легче.

              kd> dt pBlock
              Local var @ 0xf9e9ec78 Type _NDIS_PROTOCOL_BLOCK*
              0x812d3aa0
              +0x000 OpenQueue : 0x8137ac60 _NDIS_OPEN_BLOCK
              +0x004 Ref : _REFERENCE
              +0x00c DeregEvent : (null)
              .....
              kd> dt pBlock+0x00 _NDIS_OPEN_BLOCK
              driver!_NDIS_OPEN_BLOCK
              +0x000 MacHandle : 0x812d3aa0
              +0x004 BindingHandle : 0xf9e9ed4c
              +0x008 MiniportHandle : 0x805a69d3 _NDIS_MINIPORT_BLOCK <---

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