FsRtlCopyRead

Hi All,
according to MSDN.

“FsRtlCopyRead returns TRUE if the copy request was completed, FALSE otherwise. Note that a return value of TRUE does not necessarily mean that the copy operation was successful.”

I am getting
TRUE from FsRtlCopyRead()
IoStatus->Information = 0x1000.

But the data is not read.
How do I know?

  1. I get a pop up message from windows. Can’t read the file
  2. Buffer is pointing to all zeros.

My Question is, if we get TRUE from FsRtlCopyRead() and IoStatus->Information also have the correct Lenght value. How do we know (pragmatically) we haven’t read properly?

I am using FsRtlCopyRead() in my FILE SYSTEM’s FastIoRead. If I know FsRtlCopyRead() failed, I can return FALSE and my IRP based Read routine is called (which work fine).

So what is the IoStatus->Status value ?

Thanks,
Alex.
On Sep 18, 2013, at 12:02 PM, xxxxx@gmail.com wrote:

Hi All,
according to MSDN.

“FsRtlCopyRead returns TRUE if the copy request was completed, FALSE otherwise. Note that a return value of TRUE does not necessarily mean that the copy operation was successful.”

I am getting
TRUE from FsRtlCopyRead()
IoStatus->Information = 0x1000.

But the data is not read.
How do I know?

  1. I get a pop up message from windows. Can’t read the file
  2. Buffer is pointing to all zeros.

My Question is, if we get TRUE from FsRtlCopyRead() and IoStatus->Information also have the correct Lenght value. How do we know (pragmatically) we haven’t read properly?

I am using FsRtlCopyRead() in my FILE SYSTEM’s FastIoRead. If I know FsRtlCopyRead() failed, I can return FALSE and my IRP based Read routine is called (which work fine).


NTFSD is sponsored by OSR

OSR is hiring!! Info at http://www.osr.com/careers

For our schedule of debugging and file system seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

The Value of IoStatus->Status = 0 i.e STATUS_SUCCESS