Как связать адаптеры во время сетевого подключения?

Тема в разделе "WASM.NETWORKS", создана пользователем Quark, 29 авг 2008.

  1. Quark

    Quark New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2007
    Сообщения:
    211
    У меня есть протокольный драйвер. По идее он должен слушать все подключенные сетевые адаптеры. То есть при включении адаптера драйвер должен связываться с ним. насколько я понимаю, нужно юзать PnPEvent'ы. не совсем понятно каким образом мой драйвер узнает имя включаемого адаптера чтобы вызвать NdisOpenAdapter.. PNET_PNP_EVENT такой информации, вроде, не содержит.

    насколько правильны мои догадки про PnP и как узнать имя адаптера?
     
  2. TarasCo

    TarasCo New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2005
    Сообщения:
    106
    Протоколы поддерживающие NDIS 4.0 или 5.0 должны обязательно регистрировать ф. ProtocolBindAdapter. Устанавливать такой драйвер следует через inf файл. В этом случае система при включении адаптера сама предложит вашему драйверу связаться с ним. Как раз по- средством этой функции: в нее будет передано имя, которое можно использовать в вызове NdisOpenAdapter. Тонкости ее реализации можно посмотреть в самплах WDK.
     
  3. Quark

    Quark New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2007
    Сообщения:
    211
    понятно. в примерах есть такая штука. насколько я понимаю, мне нужно написать что-то подобное. вот только с инсталяцией слишком всё замудрено получается. во-первых нужно бы как-то автоматизировать процесс установки, а во-вторых, мне вообще не хотелось бы палить свой драйвер и прописывать его в реестр.
     
  4. TarasCo

    TarasCo New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2005
    Сообщения:
    106
    1) Автоматизировать процесс установки - не проблема. Есть SetupAPI, для NDIS драйверов есть еще INetCfg ( написать для NDIS драйвера инсталяцию только на SetupAPI - на мой взгляд затруднительно ).
    2) Если не хотите инсталлировать драйвер в NDIS подсистему, вам придется определять имя адаптеров вручную. К примеру, можно искать их имена в реестре
    3) Если вам совсем не хочется палить драйвер - пользуйте руткит технологии, в NDIS мест куда можно поставить хуки мильен.
     
  5. Quark

    Quark New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2007
    Сообщения:
    211
    Иными словами вы предлагаете забить на протокольный драйвер. Вместо этого прохучить ndis для прослушки трафа.
    покопаюсь в ndis.