Name | Description |
NTFS Functions | |
NtfsCreateJunctionPoint | A junction point is similar to a softlink as available in other operating systems such as Linux. In a nutshell it is a directory which links to another directory. As such the junction point itself doesn't contain any data but when accessed redirects to another directory whose contents are accessed. The NtfsCreateJunctionPoint routine transforms a normal, empty directory into a junction point. Junction points are similar to volume mount points except that as opposed to mounting a volume, they 'mount' a directory. |
NtfsDeleteJunctionPoint | The NtfsDeleteJunctionPoint routine deletes the specified junction point. Note that deletion in this context means that if the function succeeds even if the specified Source is no longer a junction point (the reparse tag which identifies it as a junction point is removed) but the directory itself will not be deleted, you'll just have an ordinary, empty directory. |
NtfsDeleteReparsePoint | NtfsDeleteReparsePoint deletes the reparse point with a given tag for the specified file or directory. |
NtfsFileHasReparsePoint | NtfsFileHasReparsePoint returns whether the specified file or directory has an associated reparse point. A reparse point can be set by an application or by the NTFS filesystem itself. For example, mount points are implemented using a reparse point. You can use NtfsGetReparseTag to extract the reparse tag of the reparse point associated with a file or directory. For the above example this would return the reserved value of IO_REPARSE_TAG_MOUNT_POINT. |
NtfsFindFirstStream | Use NtfsFindFirstStream to kick off the enumeration of streams in the specified file. You can limit the enumeration to specific streams through the StreamIds set and information about the first found stream is returned through the Data parameter. Use NtfsFindStreamNext to continue the enumeration and NtfsFindStreamClose to end it. Note that the enumeration of streams requires that the caller has the SE_BACKUP_NAME and SE_RESTORE_NAME privileges. To avoid confusion, the streams enumerated by this function are the kind of streams that have been supported by the NTFS filesystem since its inception, not the kind of streams referred to when one speaks of (COM) structured storage files. |
NtfsFindNextStream | TJclExceptFrame holds information on an except frame. NtfsFindNextStream returns the next stream which matched the conditions specified in a previous call to FindFirstStream. The Data parameter must be the same variable as the one specified in the call to NtfsFindFirstStream. When there are no more streams in the file, the function fails and GetLastError returns ERROR_NO_MORE_FILES. Note that if the function fails for this or any other reason you must eventually call NtfsFindStreamClose to release the context resources stored in the Data record. |
NtfsFindStreamClose | NtfsFindStreamClose terminates the enumeration of streams in a file initiated with NtfsFindFirstStream and releases all context resources stored in the Data parameter. It's important that if a previous call to NtfsFindFirstStream succeeds, you eventually call this function regardless of what happens in the remainder of the enumeration. |
NtfsGetAllocRangeEntry |
NtfsGetAllocRangeEntry extracts an entry from the Ranges record returned from a call to NtfsQueryAllocRanges.
The returned TFileAllocatedRangeBuffer record contains the following members:
|
NtfsGetCompression | NtfsGetCompression returns the compression state of the specified file or directory. The underlying filesystem must support per stream compression or this function will fail. Currently only LZNT1 is supported as the compression format but this may change in future releases of the Windows operating system. |
NtfsGetJunctionPointDestination | NtfsGetJunctionPointDestination returns the destinaton of a junction point. That is, it returns the directory to which Source is 'mounted'. Note that the returned directory string is prefixed with '\??'. |
NtfsGetReparsePoint | NtfsGetReparsePoint returns the reparse point data associated with the specified file or directory. |
NtfsGetReparseTag | NtfsGetReparseTag returns the reparse tag of the reparse point associated with the specified file or directory. If the specified file has no associated reparse point the function fails. |
NtfsGetSparse | NtfsGetSparse tests if the specified file is a sparse file. A sparse file is a normal file but one which only uses disk space for those portions of the file that actually contain data. This however is not automatic, see the other NtfsXxxx functions and the Platform SDK for details. |
NtfsIsFolderMountPoint | NtfsIsFolderMountPoint returns whether the specified directory is actually a mount point. |
NtfsMountDeviceAsDrive | NtfsMountDeviceAsDrive mounts the specified device as the specified drive. That is, you can use this function to mount, for example, the CD-Rom drive as drive K. If the mounting succeeds you can then access the CD-Rom by specifying K. Note that a particular device can only be mounted once. If the specified device is already mounted to a drive, you must first delete that mount point using the DeleteVolumeMountPoint API function. Also, keep in mind that mounting a device can have side effects. For example mounting a volume (hard disk partition or CD-Rom) which has an autorun file, will trigger execution of that autorun file (assuming the autorun feature is enabled). |
NtfsMountVolume | NtfsMountVolume mounts the specified volume to the the specified mount point. You can, for example, use NtfsMountVolume('c', 'd:\mnt\c\') to mount the C drive to the d:\mnt\c folder. If the call succeeds you can subsequently access the C drive through the d:\mnt\c folder. |
NtfsQueryAllocRanges | A sparse file is a normal file but one which only uses disk space for those portions of the file that actually contain data. This however is not automatic, see the other NtfsXxxx functions and the Platform SDK for details. The NtfsQueryAllocRanges function queries the filesytem about the ranges of the specified sparse file that actually contain data and as such occupy disk space. For a normal, non-sparse file, the returned range is always 0 - FileSize. However, for a sparse file any number of ranges are possible. This function assumes that the file contains at most 256 ranges. If the file contains more ranges only the first 256 are returned. |
NtfsReparsePointsSupported | NtfsReparsePointsSupported returns whether the filesystem installed on the specified Volume supports reparse points. Currently only the Windows 2000 version of NTFS (version 5) supports reparse points. |
NtfsSetCompression | NtfsSetCompression sets the compression state of the specified file or directory. The underlying filesystem must support per stream compression or this function will fail. Currently only LZNT1 is supported as the compression format but this may change in future releases of the Windows operating system. |
NtfsSetReparsePoint | NtfsSetReparsePoint sets a reparse point on the specified file or directory. |
NtfsSetSparse | NtfsSetSparse makes the specified file a sparse file. A sparse file is a normal file but one which only uses disk space for those portions of the file that actually contain data. This however is not automatic, see the other NtfsXxxx functions and the Platform SDK for details. Keep in mind that no storage is decommited until you call NtfsZeroDataByHandle or NtfsZeroDataByName. |
NtfsSparseStreamsSupported | NtfsSparseStreamsSupported tests if the filesystem specified by the Volume supports sparse streams. Currently only NTFS version 5.0 supports sparse streams and for all other filesystems the function always returns False. |
NtfsZeroDataByHandle | NtfsZeroDataByHandle tells the NTFS filesystem to 'zero' the data in the specified range for the file identified by Handle. This in effect decommits storage for the specified range. That is, the specified range no longer occupies storage space. Subsequently reading a byte in this range will return 0. The range will remain uncommitted until you write to it again. |
NtfsZeroDataByName | NtfsZeroDataByHandle tells the NTFS filesystem to 'zero' the data in the specified range for the file identified by Handle. This in effect decommits storage for the specified range. That is, the specified range no longer occupies storage space. Subsequently reading a byte in this range will return 0. The range will remain uncommitted until you write to it again. |
TReparseGuidDataBuffer | TGenericReparseBuffer is a generic record type used for reparse point operations on an NTFS volume. |