Re: About using IoCompleteRequest and iostatus block's Status Field.



You don't seem to understand some very basic concepts of NT driver. You may
have a lot of other issues as you go further. I strongly recommend you take
a driver development seminar. hers's some of good ones in no particular
order:
www.azius.com
www.osr.com
www.oneysoft.com

or go buy some books:

http://www.amazon.com/exec/obidos/tg/detail/-/0735618038/102-8514995-5636130?v=glance

The Book -- Windows NT Device Driver Development
(ISBN 1-57870-058-2, published by MacMillan Technical Publishing)

Or you may hire a consultant on the list to do the work for you.


---------------------------------
Calvin Guan, Windows DDK MVP
Software Engineer, NT Driver
ATI Technologies Inc. www.ati.com

"sudhanshu deshmukh" <sudhanshudeshmukh@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in
message news:9EBB8048-EFD3-4A7E-ABC8-2A2A3EE30C1D@xxxxxxxxxxxxxxxx
Respected sir,

I want to know as to, when I use the IoCompleteRequest
Function in the DispatchPnp Routine/Function, and that, when I also set
the
IoStatus block's Status Field to STATUS_ PENDING (pending because I want
to
make use of pending irp in the driver's system thread to process pnp
irp_mn_xxx minor codes), my driver don't seem to work ? I want to set the
IRP
Pending Status in the Status Field of IoStatus Block, in order to make
further use of the IRP, which I already been marked as STATUS_PENDING, in
my
driver's System Thread to further process IRP_MJ_XXX AND ITS MINOR CODES
like
irp_mn_start_xxx etc. At the same time, I may also like to know as to, how
can I allocate IRP, when my driver is running the system thread ? Which
Function should I use (minor pnp codes like irp_mn_xxx ) to pass down the
io_resource_requirements_list to make sure that pnp manager and OS must
know
the resources available thereof. How can I set the IRP in pending state
and
also how can I make use of this PENDING IRP in the driver's system thread
in
order to process IRP_MJ_XXX AND IRP_MN_XXX both, major and minor codes
respectively ? How can I make sure that, the default resource descriptors,
which are already been setted up by the driver will not overwritten i.e.
to
protect already stored default resource information and at the same time
to
store additional resource descriptors to IO_RESOURCE_REQUIREMENTS_LIST, so
that, PNP MANAGER AND OS will know about the additional resource info.,
that
I provided with. As it is also crucially needed in my case.



regards,

sudhanshu


.



Relevant Pages

  • Re: About using IoCompleteRequest and iostatus blocks Status Field.
    ... You cannot pend most PNP IRP's you need to complete them, ... return STATUS_PENDING or complete the IRP with IoCompleteRequest. ... Your driver doesn't specifiy the resources, ... > IoStatus block's Status Field to STATUS_ PENDING (pending because I want ...
    (microsoft.public.development.device.drivers)
  • Re: IRP_MJ_READ asynchronous completion
    ... propagating the pending bit via IoMarkIrpPending in their completion ... , what does the IRP stack look like? ... Any idea what I do wrong or where I could have messed up my driver? ...
    (microsoft.public.development.device.drivers)
  • Re: DeviceIoControl, Overlapped vs Non-Overlapped: How it affects driver design?
    ... may still call IoCompleteRequest from the dispatch routine, ... previously marked the irp as pending, ... you do need to do something special in the driver. ...
    (microsoft.public.development.device.drivers)
  • Re: About using IoCompleteRequest and iostatus blocks Status Field.
    ... You cannot pend most PNP IRP's you need to complete them, ... return STATUS_PENDING or complete the IRP with IoCompleteRequest. ... Your driver doesn't specifiy the resources, ... How can I make sure that, the default resource descriptors, ...
    (microsoft.public.development.device.drivers)
  • Re: What happens to Overlapped IO if a driver cancel the IRP
    ... Make sure your driver corretly marks the IRP pending before returning ... > WaitForSingleObjectEx on the event described in the OVERLAPPED ... What should happen if the driver cancel the pending IRP? ...
    (microsoft.public.win32.programmer.kernel)