Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создает новый каталог. Если базовая файловая система поддерживает безопасность файлов и каталогов, функция применяет указанный дескриптор безопасности к новому каталогу.
Чтобы указать каталог шаблонов, используйте функцию 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 |
См. также
функций управления каталогами