Ja, vor Jahren.
Ich bin damals bei Microsoft fündig geworden, dort ist/war es ganz gut erklärt. Denn jetzt ist dort nix mehr zu finden, jedenfalls nicht auf die Schnelle.
Prinzipiell musst Du system pages alloziieren. Die Größe ist systemabhängig, steht aber irgendwo. Dann bastelst Du dir ein Array (steht in der Beschreibung), wo du also 8 Records definerst. In jedem Record steht die Seitenadresse, sowie der ByteOffset in der Datei (int64). Dann machst Du overlapped I/O (soweit ich mich erinnere).
Die
API-Routinen sind "ReadFileGather" und "WriteFileScatter"
Links (Auf die Schnelle):
http://www.ebook-pal.com/242-1-144-3...201700476.aspx
http://www.chem.hope.edu/cgi-bin/info2www.cgi?(libc)Scatter-Gather