Указатель на буфер, который в записи содержит исходный путь. Если эта функция возвращается успешно, буфер содержит исходный путь плюс добавленный путь.
[in] cchPath
Размер буфера, на который указывает pszPath, в символах.
[in, optional] pszMore
Указатель на путь для добавления в конец пути, на который указывает pszPath. UNC-пути и пути, начинающиеся с последовательности \?\, принимаются и распознаются как полные пути. Эти пути заменяют строку, на которую указывает pszPath , а не добавляются к ней.
[in] dwFlags
Один или несколько из следующих флагов:
Значение
Значение
PATHCCH_NONE
0x0000000
Не разрешайте создание путей \\?\ (т. е. длинных путей) длиннее MAX_PATH.
PATHCCH_ALLOW_LONG_PATHS
0x00000001
Разрешите построение путей \\?\ длиннее MAX_PATH.
PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS
0x00000002
Заставляет API обрабатывать вызывающий объект как включенный длинный путь независимо от состояния с включенным длинным именем процесса. Этот параметр можно использовать только при указании PATHCCH_ALLOW_LONG_PATHS и не может использоваться с PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS.
Примечание Это значение доступно начиная с Windows 10 версии 1703.
PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS
0x00000004
Заставляет API обрабатывать вызывающий объект как длинный путь отключен, независимо от состояния, включенного длинным именем процесса. Этот параметр можно использовать только при указании PATHCCH_ALLOW_LONG_PATHS и не может использоваться с PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS.
Примечание Это значение доступно начиная с Windows 10 версии 1703.
PATHCCH_DO_NOT_NORMALIZE_SEGMENTS
0x00000008
Отключает нормализацию сегментов пути, включая удаление конечных точек и пробелов. Это обеспечивает доступ к путям, которые будут блокироваться нормализацией путей win32.
Примечание Это значение доступно начиная с Windows 10 версии 1703.
PATHCCH_ENSURE_IS_EXTENDED_LENGTH_PATH
0x00000010
Преобразует входной путь в форму пути устройства DOS расширенной длины (с префиксом \\?\), если он еще не в этой форме. Это обеспечивает доступ к путям, которые в противном случае недоступны из-за правил нормализации Win32 (которые могут разделять конечные точки и пробелы) и ограничений длины пути. Этот параметр подразумевает то же поведение PATHCCH_DO_NOT_NORMALIZE_SEGMENTS.
Примечание Это значение доступно начиная с Windows 10 версии 1703.
Возвращаемое значение
Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код HRESULT , включая следующие.
Код возврата
Описание
E_INVALIDARG
Либо pszPath , либо pszMore имеет значение NULL, cchPath равно 0, либо cchPath больше PATHCCH_MAX_CCH.
PATHCCH_E_FILENAME_TOO_LONG
Итоговая строка превысит PATHCCH_MAX_CCH.
E_OUTOFMEMORY
Функции не удалось выделить буфер необходимого размера.
Комментарии
Эта функция вставляет обратную косую черту между двумя строками, если ее еще нет.
Требования
Требование
Значение
Минимальная версия клиента
Windows 8 [классические приложения | Приложения UWP]
Минимальная версия сервера
Windows Server 2012 [классические приложения | Приложения UWP]