Поделиться через


Функция SHCreateDirectoryExA (shlobj_core.h)

[Эта функция доступна через Windows XP с пакетом обновления 2 (SP2) и Windows Server 2003. Он может быть изменен или недоступен в последующих версиях Windows.]

Создает новую папку файловой системы с необязательными атрибутами безопасности.

Синтаксис

int SHCreateDirectoryExA(
  [in, optional] HWND                      hwnd,
  [in]           LPCSTR                    pszPath,
  [in, optional] const SECURITY_ATTRIBUTES *psa
);

Параметры

[in, optional] hwnd

Тип: HWND

Дескриптор родительского окна. Этот параметр можно задать для null, если не будет отображаться пользовательский интерфейс.

[in] pszPath

Тип: LPCTSTR

Указатель на строку, завершающуюся значением NULL, указывающую полный путь к каталогу. Эта строка имеет максимальную длину 248 символов, включая завершающий символ NULL.

[in, optional] psa

Тип: const SECURITY_ATTRIBUTES*

Указатель на структуру SECURITY_ATTRIBUTES с атрибутом безопасности каталога. Задайте для этого параметра значение NULL, если атрибуты безопасности не должны быть заданы.

Возвращаемое значение

Тип: int

Возвращает ERROR_SUCCESS в случае успешного выполнения. Если операция завершается ошибкой, можно вернуть другие коды ошибок, включая перечисленные здесь. Сведения о значениях, не указанных специально, см. в системных кодов ошибок.

Возвращаемый код Описание
ERROR_BAD_PATHNAME
Для параметра pszPath задан относительный путь.
ERROR_FILENAME_EXCED_RANGE
Путь, указывающий на pszPath слишком длинный.
ERROR_PATH_NOT_FOUND
Система не может найти путь, на который указывает pszPath. Путь может содержать недопустимую запись.
ERROR_FILE_EXISTS
Каталог существует.
ERROR_ALREADY_EXISTS
Каталог существует.
ERROR_CANCELLED
Пользователь отменил операцию.

Замечания

Эта функция создает папку файловой системы, полный путь которой предоставляется pszPath. Если одна или несколько промежуточных папок не существуют, они также создаются. SHCreateDirectoryEx также проверяет, видимы ли файлы. Если они не видны, ожидается одно из следующих вариантов:

  • Если для задан допустимый дескриптор окна, появится сообщение, предупреждающее пользователя о том, что он или она не сможет получить доступ к файлам. Если пользователь не будет продолжать работу, функция возвращает ERROR_CANCELLED.
  • Если для задано значение NULL, пользовательский интерфейс не отображается, а функция возвращает ERROR_CANCELLED.

Заметка

Заголовок shlobj_core.h определяет SHCreateDirectoryEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный, Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка shlobj_core.h (include Shlobj.h, Shlobj_core.h)
библиотеки Shell32.lib
DLL Shell32.dll (версия 5.0 или более поздняя версия)

См. также

SHCreateDirectory