whql ndis driver

Discussion in 'Windows Vista Drivers' started by ning, Nov 21, 2005.

  1. ning

    ning Guest


    I am looking to sign our NDIS vitual miniport driver signed under NDIS
    universal test. One of the requirement is that the driver be "free of OS
    specific kernel (ntoskrnl) calls". What function calls fall into this
    category? For example, IoCancelIrp(), IoBuildPartialMdl()?, IoCsqXXX()?

    thanks a lot,
    ning, Nov 21, 2005
    1. Advertisements

  2. NDISTest 1c_KernelCalls test tests your driver for these calls. If you pass
    it, your driver is clean. It will also point out the calls your driver makes
    that fall in to this category.

    This posting is provided "AS IS" with no warranties, and confers no rights.
    Nazan Kurt \(MSFT\), Nov 22, 2005
    1. Advertisements

  3. This means - you can ONLY call NdisXxx functions.
    Maxim S. Shatskih, Nov 22, 2005
  4. ning

    Calvin Guan Guest

    Well, the word "ONLY" is a little bit too strong here. As long as NDIStester
    is happy with the driver. It should be fine.
    Calvin Guan, Nov 22, 2005
  5. ning

    ning Guest

    Thanks for your responses. I run the kernel call test and it passed. Even
    though I have a bunch of non-NDISXXX calls in my code. I looks like MS is
    intentionally vague about what constitutes "kernel calls" within the scope
    of whql.

    ning, Nov 23, 2005
  6. Also keep in mind that some NDIS "functions" are actually macros that
    result in non-NDIS system calls being imported. The key is that it passed
    the tests.

    Bryan S. Burgin

    This posting is provided "AS IS" with no warranties, and confers no rights.
    Bryan S. Burgin [MSFT], Nov 28, 2005
  7. IIRC the callable implementation also exists in NDIS.SYS, and one can use
    BINARY_COMPATIBLE macro to force the callable implementation.
    Maxim S. Shatskih, Nov 28, 2005
    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.