On Linux, the read() call from the on-disk file, as also from the DASD disk, can sometimes return with the amount of data lesser then requested.
Is it ever possible on Windows (on FSDs, EOF condition aside, and DASD disks)?
I have not ever seen such a thing in Windows for years, neither from user nor from kernel mode.
Have anybody seen this on FSD-driven disk files or the DASD disks?
Surely (Nt)ReadFile can return shorter data on pipe/FIFO-style things, TCP sockets, custom drivers of any kind... but what about FSDs and DASD disks?
Also, if this is not possible, is there any official documentation? The ReadFile MSDN page does not state this _explicitly_, it lists the cases when the short read can occur instead.
Maxim S. Shatskih
Microsoft MVP on File System And Storage