dispatch routine execution not clear

Discussion in 'Windows Vista Drivers' started by fufus, Aug 24, 2005.

  1. fufus

    fufus Guest

    In Programming Microsoft WDM it's written that
    "Another situation in which the thread context is not arbitrary occurs when
    an application issues an API call that causes the I/O Manager to send an IRP
    directly to a driver"
    What that "directly" means? Is it that there aren't any drivers "upper the
    stack" or that driver is called skiping upper drivers ? so either driver is
    at the top of stack or called with skipping upper drivers? Is that it? What
    is that api call? Is this like deviceiocontrol or what are the
    So like dispatch routine calls can be in call stack of thread that don't
    want never to use device witch this driver,right?
    fufus, Aug 24, 2005
    1. Advertisements

  2. fufus

    Don Burn Guest

    Directly means that it is targeted to this device. File system I/O ends up
    at a disk typically, but you are targeting the file system not the disk. An
    application cannot skip upper drivers, but filter drivers above a device
    should respect its conditions.
    Don Burn, Aug 24, 2005
    1. Advertisements

  3. fufus

    fufus Guest

    Am i right that typically when irp is going through device stack there are
    dispatch routines used only in drivers without use ofstartio(from highest to
    one before bottom) and only lowest level driver is using startio(wchich can
    change thread to arbitrary). So except this way of changing thread and when
    there is system thread or system worker thread used the thread will stay the
    same as the caller of i/o? cause there is typically(always?) call
    iocalldriver to call lower level driver wchich is like ordinary call not
    able to change thread( at the most thread scheduler will susped thread and
    reschedule later ) ?
    fufus, Aug 25, 2005
  4. StartIo is optional - just a queue implementation - while dispatch routines
    are mandatory.
    Maxim S. Shatskih, Aug 25, 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.