That flag is never seen in the driver stack. You pass that into
NtRead/WriteFile (with HighPart == -1 as well) when you want IO to use
the file object cbo as the IO offset. It is equivalent to passing in a
NULL ByteOffset pointer to those APIs.
–
This posting is provided “AS IS” with no warranties, and
confers no rights.
-----Original Message-----
From: Nicholas Ryan [mailto:xxxxx@nryan.com]
Sent: Monday, November 25, 2002 11:55 AM
To: File Systems Developers
Subject: [ntfsd] Re: FileObject CurrentByteOffset “wrong”
So a filter should never have to handle FILE_USE_FILE_POINTER_POSITION?
I thought this MIGHT be the case because FastFat does not check for this
flag. However, the flag is listed right next to
FILE_WRITE_TO_END_OF_FILE in ntifs.h, which FastFat DOES check for. I
decided to play it safe and handle both.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Daniel Lovinger
Sent: Monday, November 25, 2002 11:27 AM
To: File Systems Developers
Subject: [ntfsd] Re: FileObject CurrentByteOffset “wrong”
The rule is: don’t look at it.
The fileobject current byte offset is used by the IO manager
to fill in the IRP if it is a synchronous operation that
didn’t pass an explicit byte offset into NtRead/WriteFile.
The IRP stack field is always where the IO will occur,
regardless of whether it is a synchronous or asynchronous operation.
You’re just getting a lot of synchronous IO for which, of
course, the fileobject cbo happens to be the same as what is
in the IRP. This breaks down when async IO goes by, which is
what I assume is happening here.
–
This posting is provided “AS IS” with no warranties, and
confers no rights.
-----Original Message-----
From: Bill [mailto:xxxxx@endwell.net]
Sent: Monday, November 25, 2002 10:01 AM
To: File Systems Developers
Subject: [ntfsd] Re: FileObject CurrentByteOffset “wrong”
Of course I have, but I have yet to discover a “rule” for
when to pay attention to which field, or how to combine them.
The field I’ve seen that makes most sense" is the one in the
FileObject. In fact, my code works against most files when
paying attention to it; in the cases where it fails, I am
getting a zero in the Current ByteOffset of the FileObject.
Since you seem to know, would you care to enlighten me?
You are currently subscribed to ntfsd as:
xxxxx@windows.microsoft.com To unsubscribe send a blank email
to %%email.unsub%%
You are currently subscribed to ntfsd as: xxxxx@nryan.com
To unsubscribe send a blank email to %%email.unsub%%
You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to %%email.unsub%%