PathCchCombineEx-Funktion (pathcch.h)
Kombiniert zwei Pfadfragmente zu einem einzelnen Pfad. Diese Funktion kanonisiert auch alle relativen Pfadelemente und entfernt die Elemente "." und ".", um den endgültigen Pfad zu vereinfachen.
Diese Funktion unterscheidet sich von PathCchCombine dadurch, dass ein längerer endgültiger Pfad erstellt werden kann.
Diese Funktion unterscheidet sich von PathAllocCombine darin, dass der Aufrufer die Größe der zurückgegebenen Zeichenfolge deklarieren muss, die im Stapel gespeichert ist.
Diese Funktion unterscheidet sich von PathCombine dadurch, dass sie Pfade mit den Präfixen "\", "\?" und "\?\UNC" akzeptiert.
Syntax
WINPATHCCHAPI HRESULT PathCchCombineEx(
[out] PWSTR pszPathOut,
[in] size_t cchPathOut,
[in, optional] PCWSTR pszPathIn,
[in, optional] PCWSTR pszMore,
[in] ULONG dwFlags
);
Parameter
[out] pszPathOut
Ein Zeiger auf einen Puffer, der bei erfolgreicher Rückgabe dieser Funktion die kombinierte Pfadzeichenfolge empfängt. Dieser Parameter kann auf denselben Puffer wie pszPathIn oder pszMore verweisen.
[in] cchPathOut
Die Größe des Puffers, auf den pszPathOut in Zeichen verweist.
[in, optional] pszPathIn
Ein Zeiger auf die erste Pfadzeichenfolge. Dieser Wert kann NULL sein.
[in, optional] pszMore
Ein Zeiger auf die zweite Pfadzeichenfolge. Wenn dieser Pfad mit einem einzelnen umgekehrten Schrägstrich beginnt, wird er nur mit dem Stamm des Pfads kombiniert, auf den von pszPathIn verwiesen wird. Wenn dieser Pfad voll qualifiziert ist, wird er direkt in den Ausgabepuffer kopiert, ohne mit dem anderen Pfad kombiniert zu werden. Dieser Wert kann NULL sein.
[in] dwFlags
Mindestens eins der folgenden Flags:
Rückgabewert
Diese Funktion gibt einen HRESULT-Code zurück, einschließlich des folgenden.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Funktion wurde erfolgreich ausgeführt. Beachten Sie, dass dies auch den Fall einer leeren Erweiterung umfasst, z. B. einen Punkt ohne Zeichen. In diesem Fall wird die ursprüngliche Zeichenfolge unverändert zurückgegeben. |
|
Dieser Wert kann durch mehrere Dinge verursacht werden, z. B. dass der pszPathOut-Param auf NULL festgelegt wird, oder der cchPathOut-Wert auf 0 oder ein Wert größer als PATHCCH_MAX_CCH festgelegt wird. |
|
Die Funktion konnte nicht genügend Arbeitsspeicher für die Ausführung des Vorgangs zuweisen. |
|
Die Größe eines oder beider ursprünglichen Pfade wurde PATHCCH_MAX_CCH überschritten. |
Hinweise
Wenn sowohl pszPathIn als auch pszMoreNULL sind oder auf leere Zeichenfolgen zeigen, wird ein einzelner umgekehrter Schrägstrich in den Puffer kopiert, auf den von pszPathOut verwiesen wird.
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 |