Platform SDK: Files and I/O

File System Functions

The following functions are used with file systems.

Function Description
CreateHardLink Establishes an NTFS hard link between an existing file and a new file.
GetCompressedFileSize Retrieves the actual number of bytes of disk storage used to store a specified file.
GetDiskFreeSpace Retrieves information about the specified disk, including the amount of free space on the disk.
GetDiskFreeSpaceEx Retrieves information about the specified disk, including the amount of free space on the disk.
GetFileSize Retrieves the size of a specified file.
GetFileSizeEx Retrieves the size of a specified file.
GetLogicalDrives Returns a bitmask representing the currently available disk drives.
GetLogicalDriveStrings Fills a buffer with strings that specify valid drives in the system.
GetVolumeInformation Retrieves information about a file system and volume.
SetVolumeLabel Sets the label of a file system volume.

The following functions are used with the encrypted file system.

Function Description
AddUsersToEncryptedFile Adds user keys to a specified encrypted file.
DecryptFile Decrypts an encrypted file or directory.
EncryptFile Encrypts a file or directory.
EncryptionDisable Disables or enables encryption of the indicated directory and the files in it.
FileEncryptionStatus Retrieves the encryption status of the specified file.
FreeEncryptionCertificateHashList Frees a certificate hash list.
QueryRecoveryAgentsOnEncryptedFile Retrieves a list of recovery agents for the specified file.
QueryUsersOnEncryptedFile Retrieves a list of users for the specified file.
RemoveUsersFromEncryptedFile Removes specified certificate hashes from a specified file.
SetUserFileEncryptionKey Sets the user's current key to the specified certificate.

The following functions are used with volume mount points.

Function Description
DeleteVolumeMountPoint Unmounts the volume from the specified volume mount point.
FindFirstVolume Returns the name of a volume on a computer.
FindFirstVolumeMountPoint Returns the name of a volume mount point on the specified volume.
FindNextVolume Continues a volume search started by a call to FindFirstVolume.
FindNextVolumeMountPoint Continues a volume mount point search started by a call to FindFirstVolumeMountPoint.
FindVolumeClose Closes the specified volume search handle.
FindVolumeMountPointClose Closes the specified mount-point search handle.
GetVolumeNameForVolumeMountPoint Takes a volume mount point or root directory and returns the corresponding unique volume name.
GetVolumePathName Returns the volume mount point at which the specified path is mounted.
SetVolumeMountPoint Mounts the specified volume at the specified volume mount point.