MOVE_FILE_RECORD_DATA structure (winioctl.h)
Contains input data for the FSCTL_MOVE_FILE control code.
Syntax
typedef struct {
HANDLE FileHandle;
LARGE_INTEGER SourceFileRecord;
LARGE_INTEGER TargetFileRecord;
} MOVE_FILE_RECORD_DATA, *PMOVE_FILE_RECORD_DATA;
Members
FileHandle
A handle to the file to be moved.
To retrieve a handle to a file, use CreateFile.
If the file is encrypted, the handle must have the FILE_READ_DATA, FILE_WRITE_DATA, FILE_APPEND_DATA, or FILE_EXECUTE access right. For more information, see File Security and Access Rights.
SourceFileRecord
TargetFileRecord
Remarks
To retrieve data to fill in this structure, use the DeviceIoControl function with the FSCTL_GET_RETRIEVAL_POINTERS control code.
The first cluster of a directory on a FAT file system volume cannot be moved.
When possible, move data in blocks aligned relative to each other in 16-kilobyte (KB) increments. This reduces copy-on-write overhead when shadow copies are enabled, because shadow copy space is increased and performance is reduced when the following conditions occur:
- The move request block size is less than or equal to 16 KB.
- The move delta is not in increments of 16 KB.
For more information about shadow copies, see Volume Shadow Copy Service.
Requirements
Minimum supported client | Windows XP [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Header | winioctl.h (include Windows.h) |