在MSDN中查到了这么一句话
If the call to ZwCreateFile set only the DesiredAccess flag FILE_APPEND_DATA, ByteOffset is ignored. Data in the given Buffer, for Length bytes, is written starting at the current end of file.
只要把ZwCreateFile中的DesiredAccess设置为FILE_APPEND_DATA,ZwWriteFile写入的偏移ByteOffset就会被忽略,直接从文件结尾开始写.