Directory Management Reference
The following elements are used in directory management:
Directory Management Control Codes
The following control codes are used with file compression and decompression.
|
Value |
Meaning |
|
FSCTL_GET_COMPRESSION |
Obtains the compression state of a file or directory |
|
FSCTL_SET_COMPRESSION |
Sets the compression state of a file or directory. |
The following control codes are used with reparse points.
|
Value |
Meaning |
|
FSCTL_DELETE_REPARSE_POINT |
Deletes a reparse point for a file or directory. |
|
FSCTL_GET_REPARSE_POINT |
Returns reparse point data for a file or directory. |
|
FSCTL_SET_REPARSE_POINT |
Sets a reparse point on a file or directory. |
Directory Management Functions
The following functions are used in directory management.
|
Function |
Description |
|
CreateDirectory() |
Creates a new directory. |
|
CreateDirectoryEx() |
Creates a new directory with the attributes of a specified template directory. |
|
CreateDirectoryTransacted() |
Creates a new directory as a transacted operation, with the attributes of a specified template directory. |
|
CreateFile() |
Opens an existing directory object. |
|
DeleteFile() |
Deletes an existing directory. |
|
FindCloseChangeNotification() |
Stops change notification handle monitoring. |
|
FindFirstChangeNotification() |
Creates a change notification handle. |
|
FindFirstFile() |
Searches a directory for a file or subdirectory whose name matches the specified name. |
|
FindFirstFileEx() |
Searches a directory for a file or subdirectory whose name and attributes match those specified. |
|
FindNextChangeNotification() |
Requests that the operating system signal a change notification handle the next time it detects an appropriate change. |
|
FindNextFile() |
Continues a file search. |
|
GetCurrentDirectory() |
Retrieves the current directory for the current process. |
|
MoveFile() |
Moves an existing directory. |
|
MoveFileEx() |
Moves an existing directory. |
|
ReadDirectoryChangesW() |
Retrieves information describing the changes occurring within a directory. |
|
RemoveDirectory() |
Deletes an existing empty directory. |
|
RemoveDirectoryTransacted() |
Deletes an existing empty directory as a transacted operation. |
|
SetCurrentDirectory() |
Changes the current directory for the current process. |
Directory Management Macros
The following macros are used with reparse points:
1. IsReparseTagMicrosoft() - Determines whether a reparse point tag indicates a Microsoft reparse point.
2. IsReparseTagNameSurrogate() - Determines whether a tag's associated reparse point is a surrogate for another named entity (for example, a mounted folder).
Directory Management Structures
The following structures are used in directory management:
1. FILE_NOTIFY_INFORMATION - Describes the changes found by the ReadDirectoryChangesW() function.
2. REPARSE_GUID_DATA_BUFFER - Contains information about a reparse point. It is used by the FSCTL_GET_REPARSE_POINT control code.