core/win32/os.c
/* NOTE: cf CopyFileEx which also claims to be doing something special
 * to preserve OLE structured storage?
 *
 * NOTE: we do don't support NTFS alternate data streams,
 * e.g. downloaded.dll:Zone.Identifier since we would expect that any
 * checks by say Software Restriction Policies are done on the
 * original file, not on what we really open.
 *
 * NOTE we don't preserve extended attributes, file attributes.  If we
 * care to have these should see see
 * kernel32!CreateFile(,hTemplateFile) which supplies file attributes
 * and extended attributes for the new file.
 *
 * Note we don't preserve security attributes - see
 * shell32!SHFileOperation if we need this.
 *
 * We don't deal in any way with encrypted files - they are opened
 * raw.  FIXME: may want to at least make sure that encrypted files
 * aren't shared.
 *
 * FIXME: testing: doublecheck compressed file offsets are properly
 * used - test both encrypted and compressed folders.
 */


we do don't support NTFS alternate data streams,
e.g. downloaded.dll:Zone.Identifier since we would expect that any
checks by say Software Restriction Policies are done on the
original file, not on what we really open.

NOTE we don't preserve extended attributes, file attributes.  If we
care to have these should see see
kernel32!CreateFile(,hTemplateFile) which supplies file attributes
and extended attributes for the new file.

Note we don't preserve security attributes - see
shell32!SHFileOperation if we need this.

We don't deal in any way with encrypted files - they are opened
raw.  FIXME: may want to at least make sure that encrypted files
aren't shared.

doublecheck compressed file offsets are properly
used - test both encrypted and compressed folders.
we do don ' t support NTFS alternate data streams e . g . downloaded . dll : Zone . Identifier since we would expect that any checks by say Software Restriction Policies are done on the original file not on what we really open . NOTE we don ' t preserve extended attributes file attributes . If we care to have these should see see kernel32!CreateFile ( hTemplateFile ) which supplies file attributes and extended attributes for the new file . Note we don ' t preserve security attributes - see shell32!SHFileOperation if we need this . We don ' t deal in any way with encrypted files - they are opened raw . FIXME : may want to at least make sure that encrypted files aren ' t shared . doublecheck compressed file offsets are properly used - test both encrypted and compressed folders .
bool
os_copy_file(HANDLE new_file, HANDLE original_file,
             uint64 new_file_offset, uint64 original_file_offset)
{
    ASSERT_NOT_IMPLEMENTED(false);
    return false;
}
bool os_copy_file ( HANDLE new_file , HANDLE original_file , uint64 new_file_offset , uint64 original_file_offset ) { ASSERT_NOT_IMPLEMENTED ( false ) ; return false ; }
NOTE: cf CopyFileEx which also claims to be doing something special
 to preserve OLE structured storage?
NOTE : cf CopyFileEx which also claims to be doing something special to preserve OLE structured storage?
/* we don't care to have the fastest filecopy implementation
     * current uses are rare enough.  See p.64 and 02 FileCopy from
     * Richter&Clark if a fast one is needed. */ /* Note that NTFS will make the calls synchronously */ /* FIXME: it may be useful to set the expected total file size
     * right away with os_set_file_size(), but that should be done
     * only in case the current size is smaller (e.g. we shouldn't
     * truncate if trying to overwrite a subsection ) */