From: Mini UVC UAC on
Hi, All:
I'm developing a Storport driver and need get the virtual address of
Srb::DataBuffer. I used StorPortGetSystemAddress to get the virtual address.
It
works well under Win7 x64 with 2GB Ram, but failed under Win7 X64 with 4GB
Ram.

I used the dbgview to print the data after I copied it into the virtual
address, and used BusHound to check the data which our drivers returned. From
the dbgview's logfile, driver always return the correct data, but from the
BusHound's log info, the data sometimes match with the dbgview's logfile, and
sometimes don't match.

BTW, if use the scsiport driver, it work ok both 2GB ram and 4GB ram under
Win7X64.

Anyone can give me some help to solve the issue? BTW: I have to use
virtual
address to copy data into Srb::DataBuffer because hardware limited. I have to
use Storport framework.

And I even suspect maybe whether it is the Microsoft stoport class
driver's bug ?

Thanks






From: Maxim S. Shatskih on
> BTW, if use the scsiport driver, it work ok both 2GB ram and 4GB ram under
> Win7X64.

Probably the storport's port registration info is not correct?

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

From: Scott Noone on
Is this on a read operation? Could be dummy pages related:

http://msmvps.com/blogs/kernelmustard/archive/2005/05/04/45721.aspx

The end result is that when you copy data into the user data buffer the
result may not compare correctly to the original buffer.

-scott

--
Scott Noone
Consulting Associate
OSR Open Systems Resources, Inc.
http://www.osronline.com


"Mini UVC UAC" <MiniUVCUAC(a)discussions.microsoft.com> wrote in message
news:B04DE4CC-C47B-4475-9CA4-F45035EDC3AB(a)microsoft.com...
> Hi, All:
> I'm developing a Storport driver and need get the virtual address of
> Srb::DataBuffer. I used StorPortGetSystemAddress to get the virtual
> address.
> It
> works well under Win7 x64 with 2GB Ram, but failed under Win7 X64 with 4GB
> Ram.
>
> I used the dbgview to print the data after I copied it into the virtual
> address, and used BusHound to check the data which our drivers returned.
> From
> the dbgview's logfile, driver always return the correct data, but from the
> BusHound's log info, the data sometimes match with the dbgview's logfile,
> and
> sometimes don't match.
>
> BTW, if use the scsiport driver, it work ok both 2GB ram and 4GB ram
> under
> Win7X64.
>
> Anyone can give me some help to solve the issue? BTW: I have to use
> virtual
> address to copy data into Srb::DataBuffer because hardware limited. I have
> to
> use Storport framework.
>
> And I even suspect maybe whether it is the Microsoft stoport class
> driver's bug ?
>
> Thanks
>
>
>
>
>
>