IRQL in TDI filter dispatch functions

Discussion in 'Windows Vista Drivers' started by zedy1984, Mar 6, 2006.

  1. zedy1984

    zedy1984 Guest

    Hi

    I'm developing a TDI filter driver.
    a. According to the MSDN, IoCallDriver() can be called at IRQL <=
    DISPATCH_LEVEL. Therefore, should I assume that it is possible for all
    dispatch routines in my TDI filter to run at IRQL = DISPATCH_LEVEL?
    (According to MSDN this rule is right for all kinds of filter drivers?)

    b. My completion routines are being invoked in an arbitrary thread
    context and probably at high IRQ. Is this also right for a TDI filter?

    c. When code can run at IRQL => DISPATCH_LEVEL, all the allocations on
    the STACK also need to be none paged? (Do I need to use paged_code
    macro or something like that?)

    Thanks.
     
    zedy1984, Mar 6, 2006
    #1
    1. Advertisements

  2. DISPATCH_LEVEL. Therefore, should I assume that it is possible for all
    Better to not use stack for allocations, remember - you have only 12KB of
    stack, and kernel stack overflow is a crash. Use some ExAllocateXxx calls
    instead.
     
    Maxim S. Shatskih, Mar 6, 2006
    #2
    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.