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


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

Возвращает путь к папке и добавляет путь к вложенным папкам, предоставленным пользователем.

Синтаксис

HRESULT SHGetFolderPathAndSubDirA(
  [in]  HWND   hwnd,
  [in]  int    csidl,
  [in]  HANDLE hToken,
  [in]  DWORD  dwFlags,
  [in]  LPCSTR pszSubDir,
  [out] LPSTR  pszPath
);

Параметры

[in] hwnd

Тип: HWND

Скрытный.

[in] csidl

Тип: int

Значение CSIDL, определяющее папку, путь к которой требуется получить. Допустимы только реальные папки. Если указана виртуальная папка, эта функция завершается ошибкой. Вы можете принудительно создать папку с SHGetFolderPathAndSubDir, объединив CSI DL папки с CSIDL_FLAG_CREATE.

[in] hToken

Тип: HANDLE

Маркер доступа , представляющий конкретного пользователя. Для систем, предшествующих Windows 2000, задайте для этого значения значение NULL. Для более поздних систем hToken обычно, но не всегда устанавливается значение NULL. Может потребоваться назначить значение hToken для этих папок, которые могут иметь несколько пользователей, но рассматриваются как принадлежащие одному пользователю. Наиболее часто используемая папка этого типа — "Мои документы".

[in] dwFlags

Тип: DWORD

Указывает, является ли возвращаемый путь фактическим путем папки или пути по умолчанию. Это значение используется в случаях, когда папка, связанная с CSIDL, может быть перемещена или переименована пользователем.

SHGFP_TYPE_CURRENT

Возвращает текущий путь папки.

SHGFP_TYPE_DEFAULT

Путь по умолчанию к папке.

[in] pszSubDir

Тип: LPCTSTR

Указатель на подкататуру, добавляемую к пути папки. Это строка null- завершенная строка длины MAX_PATH. Если вы не создаете новый каталог, это должен быть существующий подкаталог или функция возвращает ошибку. Это значение может быть значение NULL, если не требуется добавить подпат.

[out] pszPath

Тип: LPTSTR

Когда эта функция возвращается, это значение указывает на путь к каталогу и добавленную подпатку. Это строка null- завершенная строка длины MAX_PATH. Эта строка пуста, когда функция возвращает код ошибки.

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

Тип: HRESULT

Если эта функция выполнена успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT.

Замечания

Заметка

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

Требования

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

См. также

SHGetFolderPath