CreateDirectoryEx
The CreateDirectoryEx
function creates a new directory with a specified path that retains the
attributes of a specified template directory. If the underlying file system
supports security on files and directories, the function applies a specified
security descriptor to the new directory. The new directory retains the other
attributes of the specified template directory. Note that CreateDirectoryEx
has a template parameter, while CreateDirectory does not.
BOOL CreateDirectoryEx(
LPCTSTR lpTemplateDirectory, |
// pointer to path
string of template directory |
LPCTSTR lpNewDirectory, |
// pointer to path
string of directory to create |
LPSECURITY_ATTRIBUTES lpSecurityAttributes |
// pointer to
security descriptor |
); |
|
Parameters
lpTemplateDirectory
Points to a
null-terminated string that specifies the path of the directory to use as a
template when creating the new directory.
lpNewDirectory
Points to a
null-terminated string that specifies the path of the directory to be created.
lpSecurityAttributes
Pointer to a SECURITY_ATTRIBUTES
Windows NT:
The lpSecurityDescriptor member of the structure specifies a security
descriptor for the new directory. If lpSecurityAttributes is NULL, the
directory gets a default security descriptor. The target file system must
support security on files and directories for this parameter to have an effect.
Windows 95:
The lpSecurityDescriptor member of the structure is ignored.
Return Values
If the
function succeeds, the return value is nonzero.
If the function
fails, the return value is zero. To get extended error information, call GetLastError
Remarks
The CreateDirectoryEx
function allows you to create directories that inherit stream information from
other directories. This function is useful, for example, when dealing with
Macintosh directories, which have a resource stream that is needed to properly
identify directory contents as an attribute.
Windows
NT:
Some file
systems, such as NTFS, support compression for individual files and directories.
On volumes formatted for such a file system, a new directory inherits the
compression attribute of its parent directory.
You can obtain a handle to a directory by calling the CreateFile
function with the FILE_FLAG_BACKUP_SEMANTICS flag set. See CreateFile
for a code example.
See Also