Prev: Filtering floppy operations with minifilter driver
Next: Intercept subdirectory creation in the minifilter driver
From: Mini UVC UAC on 5 Jul 2010 06:29 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 5 Jul 2010 15:34 > 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 15 Jul 2010 11:05
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 > > > > > > |