Я не уверен, правильно ли я понимаю, в том, что вы сказали ' Где "file" - это дескриптор файла, ранее установленный функцией, такой как mmap. Этот вызов читает 500 байтов с индексом 100. 'Это подозрительно похоже на поиск смещения и чтение 500 байтов ... но вы хотите, чтобы он был предварительно извлечен вперед ...
В коде C это будет выглядеть примерно так:
fseek(fp, 100, SEEK_CUR);
fread(&data, 500, 1, fp);
Но, предварительно выбрав его, я думаю, вы захотите подключить какие-то события с помощью ручек ожидания, и когда событие возникает, данные сохраняются где-то в буфере ...
Если честно, я не сталкивался с такой вещью, которая делает предварительную выборку данных ... но ответ Рэя удивил меня, но опять же это только для Vista, если вы хотите сохранить совместимость ... это что-то иметь в виду ... но ссылки ниже могут быть полезны ...
Хорошо, был блог , обсуждающий это, библиотека, написанная на Delphi, исходный код здесь , просмотр кода здесь , хорошо, это может быть не то, что вы хотите, но это может помочь вам указать направление ... Извините, если это не то, что вы ищете ...
Надеюсь, это поможет,
С наилучшими пожеланиями,
Том.