Partager via


Fonction PathAllocCombine (pathcch.h)

Concatène deux fragments de chemin en un seul chemin. Cette fonction canonise également tous les éléments de chemin d’accès relatifs, en remplaçant les éléments de chemin d’accès tels que « » et « ».

Cette fonction diffère de PathCchCombine et PathCchCombineEx en ce qu’elle retourne le résultat sur le tas. Cela signifie que l’appelant n’a pas à déclarer la taille de la chaîne retournée et réduit l’utilisation de la pile.

Cette fonction diffère de PathCombine en ce qu’elle accepte les chemins d’accès avec les préfixes « \ », « \ ? » et « \ ?\UNC ».

Note Cette fonction, PathCchCombine ou PathCchCombineEx, doit être utilisée à la place de PathCombine.
<

Syntaxe

WINPATHCCHAPI HRESULT PathAllocCombine(
  [in]  PCWSTR pszPathIn,
  [in]  PCWSTR pszMore,
  [in]  ULONG  dwFlags,
  [out] PWSTR  *ppszPathOut
);

Paramètres

[in] pszPathIn

Pointeur vers la première chaîne de chemin d’accès.

[in] pszMore

Pointeur vers la deuxième chaîne de chemin d’accès. Si ce chemin commence par une barre oblique inverse unique, il est combiné avec uniquement la racine du chemin d’accès pointé vers pszPathIn. Si ce chemin d’accès est complet, il est copié directement dans la mémoire tampon de sortie sans être combiné avec l’autre chemin.

[in] dwFlags

Un ou plusieurs des indicateurs suivants :

Valeur Signification
PATHCCH_NONE
0x0000000
N’autorisez pas la construction de chemins \\ ?\ (c’est-à-dire, longs chemins) plus longs que MAX_PATH .
PATHCCH_ALLOW_LONG_PATHS
0x00000001
Autorisez la construction de chemins \\ ?\ plus longs que MAX_PATH .
PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS
0x00000002
Force l’API à traiter l’appelant comme chemin d’accès long activé, 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_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 d’accès, notamment la suppression des espaces et points de fin. 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à sous cette forme. Cela permet d’accéder aux chemins d’accès qui ne sont pas adressables en raison des règles de normalisation Win32 (qui peuvent supprimer les points et 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.

PATHCCH_ENSURE_TRAILING_SLASH
0x00000020
Lors de la combinaison ou de la normalisation d’un chemin d’accès, vérifiez qu’il existe une barre oblique inverse de fin.

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

[out] ppszPathOut

Adresse d’un pointeur vers une mémoire tampon qui, lorsque cette fonction retourne correctement, reçoit la chaîne de chemin d’accès combinée. Il incombe à l’appelant de libérer cette ressource, lorsqu’elle n’est plus nécessaire, en appelant la fonction LocalFree . Cette valeur ne peut pas être NULL.

Valeur retournée

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

PszPathIn ou pszMore peuvent avoir la valeur NULL, mais ils ne peuvent pas tous les deux être NULL.

Cette fonction prend en charge les autres formulaires de chemin d’accès :

  • \\?\
  • \\?\\UNC\
  • \\ ?\Volume{guid}\

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

PathCchCombine

PathCchCombineEx