KeBugCheck

Hi,
I’m writing a NDIS protocol driver. WHile stopping the driver I see a KeBugCheck error and the stack shows my unbind adapter was called before calling this KeBugCheck. And this behavior is not very consistent…some times the driver stops without any problem.
I’ve a few questions based on my study:

  1. I see my BindAdapter Handler getting called. How the adapter binding takes place if we have multiple cards on machine.
  2. Is there a way in softice to know what exactly is causing this problem?
    Early response shall be appreciated.
    Regards,
    Rajeev Gaba
  1. The protocol bind will be called for each NIC/miniport that announces
    itself and that fits the protocol. That is, of course, no more than a
    rephrase of what the DDK says. In my own experience, with a single NIC
    on one of my machines, the protocol bind (derived from passthru) is
    called several times. So, with several NICs on your machines, it’s going
    to be hard to say just how many times your protocol bind will be called.

  2. Since your unbind was in the stack at the time of bugcheck, you can
    see what your unbind was trying to do. Why is that a problem? If you
    need to determine to which bind the failing unbind corresponds, you
    should be able to do that via the context supplied to both the bind and
    the unbind. It is, after all, “context,” a means of saving state and
    thus of distinguishing one instance from another.


If replying by e-mail, please remove “nospam.” from the address.

James Antognini
Windows DDK MVP