Freigeben über


PathCchAppendEx-Funktion (pathcch.h)

Fügt einen Pfad an das Ende eines anderen an.

Diese Funktion unterscheidet sich von PathCchAppend dadurch, dass ein längerer endgültiger Pfad erstellt werden kann.

Diese Funktion unterscheidet sich von PathAppend dadurch, dass sie Pfade mit den Präfixen "\", "\?" und "\?\UNC" akzeptiert.

Hinweis Diese Funktion oder PathCchAppend sollte anstelle von PathAppend verwendet werden, um die Möglichkeit eines Pufferüberlaufs zu verhindern.

Syntax

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

Parameter

[in, out] pszPath

Ein Zeiger auf einen Puffer, der bei der Eingabe den ursprünglichen Pfad enthält. Wenn diese Funktion erfolgreich zurückgegeben wird, enthält der Puffer den ursprünglichen Pfad und den angefügten Pfad.

[in] cchPath

Die Größe des Puffers, auf den pszPath in Zeichen verweist.

[in, optional] pszMore

Ein Zeiger auf den Pfad, der an das Ende des Pfads angefügt werden soll, auf den pszPath verweist. UNC-Pfade und Pfade, die mit der Sequenz \?\ beginnen, werden als vollqualifizierte Pfade akzeptiert und erkannt. Diese Pfade ersetzen die Zeichenfolge, auf die von pszPath verwiesen wird, anstatt an sie angefügt zu werden.

[in] dwFlags

Mindestens eins der folgenden Flags:

Wert Bedeutung
PATHCCH_NONE
0x0000000
Lassen Sie die Erstellung von \\?\ Pfaden (d. h. lange Pfade) nicht zu, die länger als MAX_PATH.
PATHCCH_ALLOW_LONG_PATHS
0x00000001
Lassen Sie die Erstellung von \\?\-Pfaden zu, die länger als MAX_PATH sind.
PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS
0x00000002
Erzwingt die API, den Aufrufer unabhängig vom Zustand des langen Namens des Prozesses als aktivierten langen Pfad zu behandeln. Diese Option kann nur verwendet werden, wenn PATHCCH_ALLOW_LONG_PATHS angegeben ist, und kann nicht mit PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS verwendet werden.

Hinweis Dieser Wert ist ab Windows 10 Version 1703 verfügbar.

PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS
0x00000004
Erzwingt die API, den Aufrufer unabhängig vom Zustand des langen Namens des Prozesses als deaktiviert zu behandeln. Diese Option kann nur verwendet werden, wenn PATHCCH_ALLOW_LONG_PATHS angegeben ist, und kann nicht mit PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS verwendet werden.

Hinweis Dieser Wert ist ab Windows 10 Version 1703 verfügbar.

PATHCCH_DO_NOT_NORMALIZE_SEGMENTS
0x00000008
Deaktiviert die Normalisierung von Pfadsegmenten, die das Entfernen von nachfolgenden Punkten und Leerzeichen umfasst. Dadurch wird der Zugriff auf Pfade ermöglicht, die durch die Win32-Pfadnormalisierung blockiert werden.

Hinweis Dieser Wert ist ab Windows 10 Version 1703 verfügbar.

PATHCCH_ENSURE_IS_EXTENDED_LENGTH_PATH
0x00000010
Konvertiert den Eingabepfad in das DOS-Gerätepfadformular mit erweiterter Länge (mit dem Präfix \\?\), falls nicht bereits in diesem Formular vorhanden. Dies ermöglicht den Zugriff auf Pfade, die aufgrund von Win32-Normalisierungsregeln (die nachfolgende Punkte und Leerzeichen entfernen können) und Pfadlängenbeschränkungen andernfalls nicht adressierbar sind. Diese Option impliziert das gleiche Verhalten wie PATHCCH_DO_NOT_NORMALIZE_SEGMENTS.

Hinweis Dieser Wert ist ab Windows 10 Version 1703 verfügbar.

Rückgabewert

Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein HRESULT-Code zurückgegeben, einschließlich des folgenden.

Rückgabecode Beschreibung
E_INVALIDARG
Entweder pszPath oder pszMore ist NULL, cchPath ist 0 oder cchPath ist größer als PATHCCH_MAX_CCH.
PATHCCH_E_FILENAME_TOO_LONG
Die resultierende Zeichenfolge würde PATHCCH_MAX_CCH überschreiten.
E_OUTOFMEMORY
Die Funktion konnte keinen Puffer der erforderlichen Größe zuordnen.

Hinweise

Diese Funktion fügt einen umgekehrten Schrägstrich zwischen die beiden Zeichenfolgen ein, sofern noch kein umgekehrter Schrägstrich vorhanden ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile pathcch.h
Bibliothek Pathcch.lib

Weitere Informationen

PathCchAppend