Re: About using IoCompleteRequest and iostatus block's Status Field.
- From: "Don Burn" <burn@xxxxxxxxxxxxxxxx>
- Date: Fri, 09 Jun 2006 05:01:41 GMT
You have a number of problems:
1. You cannot pend most PNP IRP's you need to complete them, or send them
on as specified in the DDK documentation.
2. You should either mark an IRP pending (using IoMarkIrpPending) and
return STATUS_PENDING or complete the IRP with IoCompleteRequest.
3. Your driver doesn't specifiy the resources, you recieve the resources
from the PNP manager.
I would recomend getting a good book on Windows Drivers such as "Programming
the Windows Driver Model Second Edition" or better yet taking a class on
windows drivers. You are very confused on what are basic's of the system.
--
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Remove StopSpam from the email to reply
"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
.
- Prev by Date: Memory Mapped Files Reading and Cache Problem
- Next by Date: Re: Memory Mapped Files Reading and Cache Problem
- Previous by thread: Memory Mapped Files Reading and Cache Problem
- Next by thread: Re: About using IoCompleteRequest and iostatus block's Status Field.
- Index(es):
Relevant Pages
|