Share via


Funzione PathAllocCombine (pathcch.h)

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".

Nota Questa funzione , PathCchCombine o PathCchCombineEx, deve essere usata al posto di PathCombine.
<

Sintassi

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

Parametri

[in] pszPathIn

Puntatore alla prima stringa di percorso.

[in] pszMore

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:

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

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [app desktop | App UWP]
Server minimo supportato Windows Server 2012 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione pathcch.h
Libreria Pathcch.lib

Vedi anche

PathCchCombine

PathCchCombineEx