Even if you didn't open a file with
you can still use the OVERLAPPED structure
when you issue reads and writes.
the I/O will still complete synchronously,
but you can take advantage of the other stuff
that OVERLAPPED has to offer.
Specifically, you can take advantage of the
Offset and OffsetHigh members