From: Alexander Grigoriev on
The class driver sets DataBuffer to the MDL's VirtualAddress. If the
original request is split to multiple smaller ones, the tape class driver
will provide multiple SRBs with DataBuffer at an offset from MDL's
VirtualAddress. While the disk class driver will build new partial MDLs.

"Maxim S. Shatskih" <maxim(a)storagecraft.com.no.spam> wrote in message
news:%23vnUPJuPKHA.508(a)TK2MSFTNGP06.phx.gbl...
> functionality provided by Scsiport layer . And I got the SRB directly
> from the disk class dirver.

At this level, Srb->DataBuffer is probably undefined, and the buffer is at
Irp->MdlAddress

--
Maxim S. Shatskih
Windows DDK MVP
maxim(a)storagecraft.com
http://www.storagecraft.com


From: yushang on
On Sep 27, 3:48 am, "Maxim S. Shatskih"
<ma...(a)storagecraft.com.no.spam> wrote:
> > functionality provided by Scsiport layer . And I got the SRB directly
> > from the disk class dirver.
>
> At this level, Srb->DataBuffer is probably undefined, and the buffer is at Irp->MdlAddress
>
> --
> Maxim S. Shatskih
> Windows DDK MVP
> ma...(a)storagecraft.comhttp://www.storagecraft.com

But even from Irp->MdlAddress with MmGetMdlVirtualAddress, I also get
NULL
From: Alexander Grigoriev on
That means the buffer is not mapped neither to user nor to kernel mode.

"yushang" <yusunn(a)gmail.com> wrote in message
news:90372fe9-ad02-4ab8-acf3-9d6e45a3356a(a)p10g2000prm.googlegroups.com...
> On Sep 27, 3:48 am, "Maxim S. Shatskih"
> <ma...(a)storagecraft.com.no.spam> wrote:
>> > functionality provided by Scsiport layer . And I got the SRB directly
>> > from the disk class dirver.
>>
>> At this level, Srb->DataBuffer is probably undefined, and the buffer is
>> at Irp->MdlAddress
>>
>> --
>> Maxim S. Shatskih
>> Windows DDK MVP
>> ma...(a)storagecraft.comhttp://www.storagecraft.com
>
> But even from Irp->MdlAddress with MmGetMdlVirtualAddress, I also get
> NULL


From: Maxim S. Shatskih on
> But even from Irp->MdlAddress with MmGetMdlVirtualAddress, I also get
> NULL

Valid case if the MDL was built using MmAllocatePagesForMdl

--
Maxim S. Shatskih
Windows DDK MVP
maxim(a)storagecraft.com
http://www.storagecraft.com

From: Alexander Grigoriev on
Also with paging IO.

"Maxim S. Shatskih" <maxim(a)storagecraft.com.no.spam> wrote in message
news:O6MzP65PKHA.4428(a)TK2MSFTNGP02.phx.gbl...
> But even from Irp->MdlAddress with MmGetMdlVirtualAddress, I also get
> NULL

Valid case if the MDL was built using MmAllocatePagesForMdl

--
Maxim S. Shatskih
Windows DDK MVP
maxim(a)storagecraft.com
http://www.storagecraft.com