Does iobuildsynchronousirp accept memory from
pagedpool?
The real question is : What does it do internally?
does it make a call to MmBuildMdlForNonPagedPool.
If I want to use pagedmemory for the buffer, then I am
forced to use ioallocate irp ,and do everything
manually.
is that correct?
Rajeev
Everything you always wanted to know about cars and bikes,now
at: http://in.autos.yahoo.com/cricket/tracker.html
No, all IRPs are allocated from nonpaged pool.
----- Original Message -----
From: “Rajeev Rao”
To: “NT Developers Interest List”
Sent: Friday, May 31, 2002 9:15 AM
Subject: [ntdev] iobuildsynchronous irp
> Does iobuildsynchronousirp accept memory from
> pagedpool?
>
> The real question is : What does it do internally?
> does it make a call to MmBuildMdlForNonPagedPool.
>
> If I want to use pagedmemory for the buffer, then I am
> forced to use ioallocate irp ,and do everything
> manually.
>
> is that correct?
>
> Rajeev
>
>
>
>
>
____________________________________________________________________
> Everything you always wanted to know about cars and bikes,now
> at: http://in.autos.yahoo.com/cricket/tracker.html
>
> —
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to %%email.unsub%%
>
wrote: > No, all IRPs are allocated from nonpaged
pool.
You’ve misunderstood. I’m not talking about memory
allocated for the irp. Suppose the function is
IRP_MJ_READ. Then you have to allocate memory for the
buffer (3rd parameter). Can the pointer passed to
IBSFR
be pointing to Paged memory?
IoBuildSynchronousFsdRequest(
IN ULONG MajorFunction,
IN PDEVICE_OBJECT DeviceObject,
IN OUT PVOID Buffer OPTIONAL,
IN ULONG Length OPTIONAL,
IN PLARGE_INTEGER StartingOffset OPTIONAL,
IN PKEVENT Event,
OUT PIO_STATUS_BLOCK IoStatusBlock
);
Eg.
PVOID buffer = ExAllocatePool(PagedPool, 512) ;
IoBuildSynchronousFsdRequest( IRP_MJ_READ, Devobj,
buffer, 512, NULL, &Event, &iosb) ;
Everything you always wanted to know about cars and bikes,now
at: http://in.autos.yahoo.com/cricket/tracker.html
> IRP_MJ_READ. Then you have to allocate memory for the
buffer (3rd parameter). Can the pointer passed to
IBSFR
be pointing to Paged memory?
Yes. IO manager will probe and lock it.
Max