Функция CreateDirectory (winbase.h)
Создает новый каталог. Если базовая файловая система поддерживает безопасность файлов и каталогов, функция применяет указанный дескриптор безопасности к новому каталогу.
Чтобы указать каталог шаблонов, используйте функцию createDirectoryEx
Чтобы выполнить эту операцию как транзакционная операция, используйте функцию CreateDirectoryTransacted.
Синтаксис
BOOL CreateDirectory(
[in] LPCTSTR lpPathName,
[in, optional] LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
Параметры
[in] lpPathName
Путь к созданному каталогу.
Для версии этой функции ANSI существует ограничение размера строки по умолчанию для путей 248 символов (MAX_PATH — достаточно места для имени файла 8.3). Чтобы расширить это ограничение до 32 767 расширенных символов, вызовите версию функции Юникода и добавьте "\?" в путь. Дополнительные сведения см. в разделе Именование файла
[in, optional] lpSecurityAttributes
Указатель на структуру SECURITY_ATTRIBUTES. Элемент
Целевая файловая система должна поддерживать безопасность файлов и каталогов, чтобы этот параметр повлиял. (Это указывает, когда GetVolumeInformation возвращает FS_PERSISTENT_ACLS.)
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение ненулевое.
Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError. Возможные ошибки включают следующие.
Возвращаемый код | Описание |
---|---|
|
Указанный каталог уже существует. |
|
Один или несколько промежуточных каталогов не существуют; Эта функция создаст только окончательный каталог в пути. |
Замечания
Некоторые файловые системы, такие как файловая система NTFS, поддерживают сжатие или шифрование отдельных файлов и каталогов. В томах, отформатированных для такой файловой системы, новый каталог наследует атрибуты сжатия и шифрования родительского каталога.
Приложение может получить дескриптор в каталог, вызвав CreateFile с набором флагов FILE_FLAG_BACKUP_SEMANTICS. Пример кода см. в разделе CreateFile.
Для поддержки функций наследования, запрашивающих дескриптор безопасности этого объекта, может эвристически определить и сообщить о том, что наследование действует. Дополнительные сведения см. в автоматическом распространении наследуемых acEs.
В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.
Технологии | Поддержанный |
---|---|
Протокол SMB 3.0 | Да |
Отработка отказа SMB 3.0 (TFO) | Да |
SMB 3.0 с масштабируемыми общими папками (SO) | Да |
Файловая система общего тома кластера (CSVFS) | Да |
Отказоустойчивая файловая система (ReFS) | Да |
Примеры
Пример см. в разделе получения и изменения атрибутов файла.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [классические приложения | Приложения UWP] |
минимальный поддерживаемый сервер | Windows Server 2003 [классические приложения | Приложения UWP] |
целевая платформа | Виндоус |
заголовка | winbase.h (включая Windows.h) |
библиотеки |
Kernel32.lib |
DLL | Kernel32.dll |
См. также
функций управления каталогами