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


Функция PathCchAddExtension (pathcch.h)

Добавляет расширение имени файла в строку пути.

Эта функция отличается от PathAddExtension тем, что принимает пути с префиксами "\", "\?" и "\?\UNC".

Примечание Эту функцию следует использовать вместо PathAddExtension , чтобы предотвратить переполнение буфера.

Синтаксис

WINPATHCCHAPI HRESULT PathCchAddExtension(
  [in, out] PWSTR  pszPath,
  [in]      size_t cchPath,
  [in]      PCWSTR pszExt
);

Параметры

[in, out] pszPath

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

Примечание Если в исходной строке уже есть расширение имени файла, новое расширение не будет добавлено, а исходная строка будет без изменений.

[in] cchPath

Размер буфера, на который указывает pszPath, в символах.

[in] pszExt

Указатель на строку расширения имени файла. Эта строка может быть предоставлена с предыдущей точкой (".ext" или "ext").

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

Эта функция возвращает код HRESULT , включая следующее.

Код возврата Описание
S_OK
Функция выполнена успешно. Обратите внимание, что сюда также относится пустое расширение, например точка без символов. В этом случае исходная строка возвращается без перемеченной.
E_INVALIDARG
Это значение может быть вызвано несколькими причинами, например, параметру pszPath присваивается значение NULL, параметру cchPath присваивается значение 0 или значение больше PATHCCH_MAX_CCH или строка расширения, содержащая недопустимые символы или иным образом не являющаяся допустимым расширением.
S_FALSE
Исходная строка уже имеет расширение.
PATHCCH_E_FILENAME_TOO_LONG
Буфер слишком мал для хранения возвращаемой строки.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header pathcch.h
Библиотека Pathcch.lib