http://msdn.microsoft.com/en-us/library/ms740565(VS.85).aspx http://msdn.microsoft.com/en-us/library/ms740566(VS.85).aspx
sendfile был сделан восновном для операций с сокетами, если ты не используешь sendfile для записи в сокет, то и разницы между ним и синхронным io практически нету, за исключением экономии на вызов пары сисколов, это копейки. Чтобы сэкономить кол-во сискол вызовов делаешь следующее: мапиш 1 файл(2 сискола), делаешь синхронный\асинхронный запрос на запись(1\2 сискола). Если у тебя 32бит прога, то для файлов в несколько гиг придется делать цикл, т.к. весь файл ты не смапиш.
retmas Про него был первый же ответ, оно для отсылки в сокет. К тому же оно ведет себя по-разному в серверной и воркстэйшн ос. Нормальная работа имхо только в серверной, если для сервера планируется использовать, иначе на полную многоядерную машину не загрузишь.