Функция PathAllocCanonicalize (pathcch.h)
Преобразует строку пути в каноническую форму.
Эта функция отличается от PathCchCanonicalize и PathCchCanonicalizeEx тем, что она возвращает результат в куче. Это означает, что вызывающий объект не должен объявлять размер возвращаемой строки и сокращает использование стека.
Эта функция отличается от PathCanonicalize тем, что принимает пути с префиксами "\", "\?" и "\?\UNC".
Синтаксис
WINPATHCCHAPI HRESULT PathAllocCanonicalize(
[in] PCWSTR pszPathIn,
[in] ULONG dwFlags,
[out] PWSTR *ppszPathOut
);
Параметры
[in] pszPathIn
Указатель на буфер, содержащий исходную строку. Это значение не может иметь значение NULL.
[in] dwFlags
Один или несколько из следующих флагов:
[out] ppszPathOut
Адрес указателя на буфер, который при успешном возвращении этой функции получает каноническую строку пути. Вызывающий объект отвечает за освобождение этого ресурса, когда он больше не нужен, путем вызова функции LocalFree . Это значение не может иметь значение NULL.
Возвращаемое значение
Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Эта функция поддерживает следующие формы альтернативных путей:
- \\?\
- \\?\\UNC\
- \\?\Volume{guid}\
Эта функция не преобразует косую черту (/) в обратную косую черту (\). При ненадежных входных данных эта функция сама по себе не может использоваться для преобразования путей в форму, которую можно сравнить с другими путями для вложенных путей или идентификаторов. Вызывающие абоненты, которым требуется эта возможность, должны преобразовывать косую черту вперед в обратную косую черту перед использованием этой функции.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | pathcch.h |
Библиотека | Pathcch.lib |