# Files user defined functions Reference

Below is a complete list of the user defined functions available in AutoIt. Click on a user defined function name for a detailed description.

When using them you need to add a #include <WinAPIFiles.au3>.

User Defined Function | Description
--- | ---
_WinAPI_CopyFileEx | Copies an existing file to a new file, notifying the application of its progress through a callback function
_WinAPI_CreateDirectory | Creates a new directory
_WinAPI_CreateDirectoryEx | Creates a new directory with the attributes of a specified template directory
_WinAPI_CreateFile | Creates or opens a file or other device
_WinAPI_CreateFileEx | Creates or opens a file or I/O device
_WinAPI_CreateFileMapping | Creates or opens a named or unnamed file mapping object for a specified file
_WinAPI_CreateHardLink | Establishes a hard link between an existing file and a new file
_WinAPI_CreateSymbolicLink | Creates a symbolic link
_WinAPI_DecryptFile | Decrypts an encrypted file or directory
_WinAPI_DeleteFile | Deletes an existing file
_WinAPI_DeleteVolumeMountPoint | Deletes a drive letter or mounted folder
_WinAPI_DuplicateEncryptionInfoFile | Copies the EFS metadata from one file or directory to another
_WinAPI_EncryptFile | Encrypts a file or directory
_WinAPI_EncryptionDisable | Disables or enables encryption of the specified directory and the files in it
_WinAPI_EnumFiles | Enumerates the files and subdirectories for the specified directory with a name that matches the template
_WinAPI_EnumFileStreams | Enumerates all streams with a ::$DATA stream type in the specified file or directory
_WinAPI_EnumHardLinks | Enumerates all the hard links to the specified file
_WinAPI_FileEncryptionStatus | Retrieves the encryption status of the specified file
_WinAPI_FileExists | Tests whether the specified path is existing file
_WinAPI_FileInUse | Tests whether the specified file in use by another application
_WinAPI_FindClose | Closes a file search handle
_WinAPI_FindCloseChangeNotification | Stops change notification handle monitoring
_WinAPI_FindFirstChangeNotification | Creates a change notification handle and sets up initial change notification filter conditions
_WinAPI_FindFirstFile | Searches a directory for a file or subdirectory with a name that matches a specific name
_WinAPI_FindFirstFileName | Creates an enumeration of all the hard links to the specified file
_WinAPI_FindFirstStream | Enumerates the first stream with a ::$DATA stream type in the specified file or directory
_WinAPI_FindNextChangeNotification | Requests that the operating system signal a change notification handle the next time it detects an appropriate change
_WinAPI_FindNextFile | Continues a file or directory search
_WinAPI_FindNextFileName | Continues enumerating the hard links
_WinAPI_FindNextStream | Continues a stream search
_WinAPI_FlushFileBuffers | Flushes the buffers of a specified file and causes all buffered data to be written
_WinAPI_FlushViewOfFile | Writes to the disk a byte range within a mapped view of a file
_WinAPI_GetBinaryType | Determines whether a file is an executable (.exe) file, and if so, which subsystem runs the executable file
_WinAPI_GetCompressedFileSize | Retrieves the actual number of bytes of disk storage used to store a specified file
_WinAPI_GetCompression | Retrieves the current compression state of a file or directory
_WinAPI_GetCurrentDirectory | Retrieves the current directory for the current process
_WinAPI_GetDiskFreeSpaceEx | Retrieves information about the amount of space that is available on a disk volume
_WinAPI_GetFileAttributes | Retrieves file system attributes for a specified file or directory
_WinAPI_GetFileID | Retrieves the file system's 8-byte file reference number for a file
_WinAPI_GetFileInformationByHandle | Retrieves file information for the specified file
_WinAPI_GetFileInformationByHandleEx | Retrieves file information for the specified file
_WinAPI_GetFilePointerEx | Retrieves the file pointer of the specified file
_WinAPI_GetFileSizeEx | Retrieves the size of the specified file
_WinAPI_GetFileSizeOnDisk | Retrieves the file allocation size on disk
_WinAPI_GetFileTitle | Retrieves the name of the specified file
_WinAPI_GetFileType | Retrieves the file type of the specified file
_WinAPI_GetFinalPathNameByHandle | Retrieves the final path of the specified file
_WinAPI_GetFinalPathNameByHandleEx | Retrieves the final path of the specified file
_WinAPI_GetFullPathName | Retrieves the full path and file name of the specified file
_WinAPI_GetProfilesDirectory | Retrieves the path to the root directory where user profiles are stored
_WinAPI_GetTempFileName | Creates a name for a temporary file
_WinAPI_GetVolumeInformation | Retrieves information about the file system and volume associated with the specified root directory
_WinAPI_GetVolumeInformationByHandle | Retrieves information about the file system and volume associated with the specified file
_WinAPI_GetVolumeNameForVolumeMountPoint | Retrieves a volume GUID path for the volume that is associated with the specified volume mount point
_WinAPI_IsPathShared | Determines whether the path is shared
_WinAPI_LockDevice | Enables or disables the mechanism that ejects media, for those devices possessing that locking capability
_WinAPI_LockFile | Locks the specified file for exclusive access by the calling process
_WinAPI_MapViewOfFile | Maps a view of a file mapping into the address space of a calling process
_WinAPI_MoveFileEx | Moves a file or directory, notifying the application of its progress through a callback function
_WinAPI_OpenFileById | Opens the file that matches the specified object identifier
_WinAPI_OpenFileMapping | Opens a named file mapping object
_WinAPI_PathIsDirectory | Verifies that a path is a valid directory
_WinAPI_PathIsDirectoryEmpty | Determines whether a specified path is an empty directory
_WinAPI_ReadDirectoryChanges | Retrieves information that describes the changes within the specified directory
_WinAPI_ReadFile | Reads data from a file
_WinAPI_RemoveDirectory | Deletes an existing empty directory
_WinAPI_ReOpenFile | Reopens the specified file system object with different access rights, sharing mode, and flags
_WinAPI_ReplaceFile | Replaces one file with another file, and creates a backup copy of the original file
_WinAPI_SearchPath | Searches for a specified file in a specified path
_WinAPI_SetCompression | Sets the compression state of a file or directory
_WinAPI_SetCurrentDirectory | Changes the current directory for the current process
_WinAPI_SetEndOfFile | Sets the physical file size for the specified file to the current position of the file pointer
_WinAPI_SetFileAttributes | Sets the attributes for a file or directory
_WinAPI_SetFileInformationByHandleEx | Sets the file information for the specified file
_WinAPI_SetFilePointer | Moves the file pointer of the specified file
_WinAPI_SetFilePointerEx | Moves the file pointer of the specified file
_WinAPI_SetFileShortName | Sets the short name for the specified file
_WinAPI_SetFileValidData | Sets the valid data length of the specified file
_WinAPI_SetSearchPathMode | Sets the per-process mode that the _WinAPI_SearchPath() function uses when locating files
_WinAPI_SetVolumeMountPoint | Associates a volume with a drive letter or a directory on another volume
_WinAPI_SfcIsFileProtected | Determines whether the specified file is protected
_WinAPI_UnlockFile | Unlocks a region in an open file
_WinAPI_UnmapViewOfFile | Unmaps a mapped view of a file from the calling process's address space
_WinAPI_WriteFile | Writes data to a file at the position specified by the file pointer