Vista NDIS Light-weight filter uninstall

Discussion in 'Windows Vista Drivers' started by TarasCo, Dec 1, 2006.

  1. TarasCo

    TarasCo Guest

    I found one thing looks like a bug. I setup VPN connection. If i try
    after that deinstall NDIS Filter ( for example QoS ), i've got a
    freezed window and all network connections don't work. I found out this
    fact during testin my own filter and after that trying at standart
    service. My own driver besides freezing sometimes crushes system -
    after deatach driver wanarp.sys calles NdisSendNetBufferLists with
    NdisBindingHandle == NULL. I try on Vista 5456 and 6000 x86 on virtual
    machin VMWare 5.5.

    By the way, driver from WDK samples doesn't work on VMWare after
    TarasCo, Dec 1, 2006
    1. Advertisements

  2. I think you are experiencing a bug similar to the one I reported on ntdev
    one week ago (maybe the same): if you try to uninstall an NDIS IM driver
    bound to ndiswan and you have a VPN connection running, the NetCfg API
    hangs. Or better, the IM hangs in a call to NdisIMDeinitializeDeviceInstance

    If you are subscribed to the osronline website (registration is free), you
    can see my post at

    Hope it helps
    Gianluca Varenni, Dec 1, 2006
    1. Advertisements

  3. TarasCo

    TarasCo Guest

    """Gianluca Varenni ÐÉÓÁÌ(Á):
    I checked to uninstall my own IM miniport having VPN connection running
    and I didn't find any problem. May be your driver has one bug....
    What is interesting: the QoS driver can not be uninstalled when there
    is VPN connection - if you try, you get a message. It seems like a
    TarasCo, Dec 4, 2006
  4. TarasCo

    TarasCo Guest

    If I set FilterRunType to 2 in inf file, driver uninstall without
    problem ( it seems like :) ). If anyone can what is a difference
    between "mandatory" and "optional" filters? I found out from WDF:

    Mandatory filter drivers are filter drivers that must be present for a
    driver stack to function properly. If the mandatory filter module fails
    to attach, the rest of the driver stack will be torn down. Modifying or
    monitoring filter drivers can be mandatory. All filter intermediate
    drivers are optional.

    To attach a mandatory filter module to a driver stack, NDIS unbinds all
    of the protocol bindings, attaches the filter module, and then
    reestablishes all of the protocol bindings. If the driver fails to
    attach, NDIS tears down the underlying driver stack.

    To detach a mandatory filter module from a driver stack, NDIS unbinds
    all of the protocol bindings detaches the filter module, and then
    reestablishes the protocol bindings. To detach an optional filter
    module, NDIS pauses the stack and restarts it without unbinding the
    protocol drivers.

    When a computer restarts, NDIS will not bind any protocol drivers to a
    miniport adapter if any mandatory filter module that is associated with
    the adapter fails to attach to the miniport adapter.

    To install a mandatory filter driver, you must specify a value of
    0x00000001 for FilterRunType in the INF file.
    Can I understand phrase "All filter intermediate drivers are optional"
    as I must register my filter as optional or must do it not unloadable?
    TarasCo, Dec 4, 2006
  5. Uhm... maybe... the problem is that the same issue happens using the
    unmodified passthru sample from microsoft. And this is not good.

    Have a nice day
    Gianluca Varenni, Dec 4, 2006
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.