Concatena due frammenti di percorso in un singolo percorso. Questa funzione esegue anche la canonizzazione di tutti gli elementi di percorso relativi, sostituendo gli elementi del percorso, ad esempio "." e "..".
Questa funzione è diversa da PathCchCombine e PathCchCombineEx in quanto restituisce il risultato nell'heap. Ciò significa che il chiamante non deve dichiarare le dimensioni della stringa restituita e riduce l'uso dello stack.
Questa funzione è diversa da PathCombine in quanto accetta percorsi con prefissi "\", "\?" e "\?\UNC".
Puntatore alla seconda stringa di percorso. Se questo percorso inizia con una singola barra rovesciata, viene combinato con solo la radice del percorso a cui punta pszPathIn. Se questo percorso è completo, viene copiato direttamente nel buffer di output senza essere combinato con l'altro percorso.
[in] dwFlags
Uno o più dei flag seguenti:
Valore
Significato
PATHCCH_NONE
0x0000000
Non consentire la costruzione di percorsi \\?\ (ad esempio, percorsi lunghi) più lunghi di MAX_PATH .
PATHCCH_ALLOW_LONG_PATHS
0x00000001
Consentire la costruzione di percorsi \\?\ più lunghi di MAX_PATH .
PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS
0x00000002
Forza l'API a considerare il chiamante finché il percorso è abilitato, indipendentemente dallo stato abilitato per il nome lungo del processo. Questa opzione può essere usata solo quando si specifica PATHCCH_ALLOW_LONG_PATHS e non può essere usata con PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS.
Nota Questo valore è disponibile a partire da Windows 10 versione 1703.
PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS
0x00000004
Forza l'API a considerare il chiamante come percorso lungo disabilitato, indipendentemente dallo stato abilitato per il nome lungo del processo. Questa opzione può essere usata solo quando si specifica PATHCCH_ALLOW_LONG_PATHS e non può essere usata con PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS.
Nota Questo valore è disponibile a partire da Windows 10 versione 1703.
PATHCCH_DO_NOT_NORMALIZE_SEGMENTS
0x00000008
Disabilita la normalizzazione dei segmenti di percorso che include la rimozione di punti finali e spazi. Ciò consente l'accesso ai percorsi che la normalizzazione del percorso win32 bloccherà.
Nota Questo valore è disponibile a partire da Windows 10 versione 1703.
PATHCCH_ENSURE_IS_EXTENDED_LENGTH_PATH
0x00000010
Converte il percorso di input nel formato percorso del dispositivo DOS di lunghezza estesa (con il prefisso \\?\) se non è già presente in tale formato. In questo modo è possibile accedere ai percorsi che altrimenti non sono indirizzabili a causa di regole di normalizzazione Win32 (che possono rimuovere punti e spazi finali) e limitazioni della lunghezza del percorso. Questa opzione implica lo stesso comportamento di PATHCCH_DO_NOT_NORMALIZE_SEGMENTS.
Nota Questo valore è disponibile a partire da Windows 10 versione 1703.
PATHCCH_ENSURE_TRAILING_SLASH
0x00000020
Quando si combina o si normalizza un percorso, assicurarsi che sia presente una barra rovesciata finale.
Nota Questo valore è disponibile a partire da Windows 10 versione 1703.
[out] ppszPathOut
L'indirizzo di un puntatore a un buffer che, quando questa funzione viene restituita correttamente, riceve la stringa di percorso combinata. È responsabilità del chiamante liberare questa risorsa, quando non è più necessaria, chiamando la funzione LocalFree . Questo valore non può essere NULL.
Valore restituito
Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Anche se pszPathIn o pszMore può essere NULL, non può essere NULL.
Questa funzione supporta questi moduli di percorso alternativo: