Partager via


PathCchAppendEx, fonction (pathcch.h)

Ajoute un chemin à la fin d’un autre.

Cette fonction diffère de PathCchAppend en ce qu’elle permet de construire un chemin final plus long.

Cette fonction diffère de PathAppend en ce qu’elle accepte des chemins avec des préfixes « \ », « \ ? » et « \ ?\UNC ».

Note Cette fonction, ou PathCchAppend, doit être utilisée à la place de PathAppend pour éviter la possibilité d’un dépassement de mémoire tampon.

Syntaxe

WINPATHCCHAPI HRESULT PathCchAppendEx(
  [in, out]      PWSTR  pszPath,
  [in]           size_t cchPath,
  [in, optional] PCWSTR pszMore,
  [in]           ULONG  dwFlags
);

Paramètres

[in, out] pszPath

Pointeur vers une mémoire tampon qui, lors de l’entrée, contient le chemin d’accès d’origine. Lorsque cette fonction retourne correctement, la mémoire tampon contient le chemin d’accès d’origine et le chemin ajouté.

[in] cchPath

Taille de la mémoire tampon pointée vers pszPath, en caractères.

[in, optional] pszMore

Pointeur du chemin d’accès à ajouter à la fin du chemin d’accès pointé par pszPath. Les chemins UNC et les chemins qui commencent par la séquence \ ?\ sont acceptés et reconnus comme des chemins complets. Ces chemins remplacent la chaîne pointée par pszPath au lieu d’y être ajouté.

[in] dwFlags

Un ou plusieurs des indicateurs suivants :

Valeur Signification
PATHCCH_NONE
0x0000000
N’autorisez pas la construction de chemins \\ ?\ (c’est-à-dire des chemins longs) plus longs que MAX_PATH.
PATHCCH_ALLOW_LONG_PATHS
0x00000001
Autorisez la création de chemins \\ ?\ plus longs que MAX_PATH.
PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS
0x00000002
Force l’API à traiter l’appelant comme chemin long activé, indépendamment de l’état de nom long du processus activé. Cette option ne peut être utilisée que lorsque PATHCCH_ALLOW_LONG_PATHS est spécifié et ne peut pas être utilisée avec PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS.

Note Cette valeur est disponible à partir de Windows 10, version 1703.

PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS
0x00000004
Force l’API à traiter l’appelant comme chemin d’accès long désactivé, indépendamment de l’état activé du nom long du processus. Cette option ne peut être utilisée que lorsque PATHCCH_ALLOW_LONG_PATHS est spécifié et ne peut pas être utilisée avec PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS.

Note Cette valeur est disponible à partir de Windows 10, version 1703.

PATHCCH_DO_NOT_NORMALIZE_SEGMENTS
0x00000008
Désactive la normalisation des segments de chemin qui inclut la suppression des points de fin et des espaces. Cela permet d’accéder aux chemins que la normalisation des chemins win32 bloquera.

Note Cette valeur est disponible à partir de Windows 10, version 1703.

PATHCCH_ENSURE_IS_EXTENDED_LENGTH_PATH
0x00000010
Convertit le chemin d’entrée dans le formulaire de chemin d’accès de l’appareil DOS de longueur étendue (avec le préfixe \\ ?\) s’il n’est pas déjà dans ce formulaire. Cela permet d’accéder aux chemins qui ne sont autrement pas adressables en raison des règles de normalisation Win32 (qui peuvent supprimer des points et des espaces de fin) et des limitations de longueur de chemin. Cette option implique le même comportement de PATHCCH_DO_NOT_NORMALIZE_SEGMENTS.

Note Cette valeur est disponible à partir de Windows 10, version 1703.

Valeur retournée

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code HRESULT , y compris les éléments suivants.

Code de retour Description
E_INVALIDARG
PszPath ou pszMore a la valeur NULL, cchPath a la valeur 0 ou cchPath est supérieur à PATHCCH_MAX_CCH.
PATHCCH_E_FILENAME_TOO_LONG
La chaîne résultante dépasserait PATHCCH_MAX_CCH.
E_OUTOFMEMORY
La fonction n’a pas pu allouer une mémoire tampon de la taille nécessaire.

Remarques

Cette fonction insère une barre oblique inverse entre les deux chaînes, si l’une d’elles n’est pas déjà présente.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête pathcch.h
Bibliothèque Pathcch.lib

Voir aussi

PathCchAppend