Function AsyncReadRequest.this
The file must have the overlapped flag enabled on Windows and the nonblock flag set on Posix.
The buffer MUST NOT be touched by you - not used by another request, modified, read, or freed, including letting a static array going out of scope - until this request's isComplete returns true.
The offset is where to start reading a disk file. For all other types of files, pass 0.