Fonction PathCchCombine (pathcch.h)

Combine deux fragments de chemin en un seul chemin. Cette fonction canonise également tous les éléments de chemin d’accès relatifs, en supprimant les éléments « » et « ». pour simplifier le chemin d’accès final.

Cette fonction diffère de PathCchCombineEx en ce que vous êtes limité à un chemin d’accès final de longueur MAX_PATH.

Cette fonction diffère de PathAllocCombine en ce que l’appelant doit déclarer la taille de la chaîne retournée, qui est stockée sur 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, PathCchCombineEx ou PathAllocCombine doit être utilisée à la place de PathCombine pour empêcher la possibilité d’un dépassement de mémoire tampon.

Syntaxe

WINPATHCCHAPI HRESULT PathCchCombine(
  [out]          PWSTR  pszPathOut,
  [in]           size_t cchPathOut,
  [in, optional] PCWSTR pszPathIn,
  [in, optional] PCWSTR pszMore
);

Paramètres

[out] pszPathOut

Pointeur vers une mémoire tampon qui, lorsque cette fonction retourne correctement, reçoit la chaîne de chemin d’accès combinée. Ce paramètre peut pointer vers la même mémoire tampon que pszPathIn ou pszMore.

[in] cchPathOut

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

[in, optional] pszPathIn

Pointeur vers la première chaîne de chemin d’accès. Cette valeur peut être NULL.

[in, optional] 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. Cette valeur peut être NULL.

Valeur retournée

Cette fonction retourne un code HRESULT , y compris ce qui suit.

Code de retour Description
S_OK
La fonction a réussi. Notez que cela inclut également le cas d’une extension vide, comme un point sans caractères. Dans ce cas, la chaîne d’origine est retournée sans avoir été inchangée.
E_INVALIDARG
Cette valeur peut être due à plusieurs éléments, tels que le param pszPathOut défini sur NULL ou la valeur cchPathOut définie sur 0 ou une valeur supérieure à PATHCCH_MAX_CCH.
E_OUTOFMEMORY
La fonction n’a pas pu allouer suffisamment de mémoire pour effectuer l’opération.
PATHCCH_E_FILENAME_TOO_LONG
La taille de l’un ou des deux chemins d’accès d’origine a dépassé PATHCCH_MAX_CCH.

Remarques

Si pszPathIn et pszMore ont la valeur NULL ou pointent vers des chaînes vides, une seule barre oblique inverse est copiée dans la mémoire tampon pointée vers pszPathOut.

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

PathCchCanonicalize

PathCchCanonicalizeEx

PathCchCombineEx