Concatena dois fragmentos de caminho em um único caminho. Essa função também canoniza todos os elementos de caminho relativo, substituindo elementos de caminho como "." e "..".
Essa função difere de PathCchCombine e PathCchCombineEx , pois retorna o resultado no heap. Isso significa que o chamador não precisa declarar o tamanho da cadeia de caracteres retornada e reduz o uso da pilha.
Essa função é diferente de PathCombine , pois aceita caminhos com prefixos "\", "\?" e "\?\UNC".
Um ponteiro para a primeira cadeia de caracteres de caminho.
[in] pszMore
Um ponteiro para a segunda cadeia de caracteres de caminho. Se esse caminho começar com uma única barra invertida, ele será combinado apenas com a raiz do caminho apontado por pszPathIn. Se esse caminho for totalmente qualificado, ele será copiado diretamente para o buffer de saída sem ser combinado com o outro caminho.
[in] dwFlags
Um ou mais dos seguintes sinalizadores:
Valor
Significado
PATHCCH_NONE
0x0000000
Não permita a construção de caminhos \\?\ (ou seja, caminhos longos) mais longos do que MAX_PATH .
PATHCCH_ALLOW_LONG_PATHS
0x00000001
Permitir a construção de caminhos \\?\ mais longos do que MAX_PATH .
PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS
0x00000002
Força a API a tratar o chamador como caminho longo habilitado, independentemente do estado habilitado para nome longo do processo. Essa opção só pode ser usada quando PATHCCH_ALLOW_LONG_PATHS é especificado e não pode ser usada com PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS.
Nota Esse valor está disponível a partir do Windows 10, versão 1703.
PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS
0x00000004
Força a API a tratar o chamador como caminho longo desabilitado, independentemente do estado habilitado para nome longo do processo. Essa opção só pode ser usada quando PATHCCH_ALLOW_LONG_PATHS é especificado e não pode ser usada com PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS.
Nota Esse valor está disponível a partir do Windows 10, versão 1703.
PATHCCH_DO_NOT_NORMALIZE_SEGMENTS
0x00000008
Desabilita a normalização de segmentos de caminho que inclui a remoção de pontos e espaços à direita. Isso permite o acesso a caminhos que a normalização do caminho win32 bloqueará.
Nota Esse valor está disponível a partir do Windows 10, versão 1703.
PATHCCH_ENSURE_IS_EXTENDED_LENGTH_PATH
0x00000010
Converte o caminho de entrada no formulário de caminho do dispositivo DOS de comprimento estendido (com o prefixo \\?\) se ainda não estiver nesse formulário. Isso permite o acesso a caminhos que, de outra forma, não são endereçáveis devido a regras de normalização do Win32 (que podem remover pontos e espaços à direita) e limitações de comprimento do caminho. Essa opção implica o mesmo comportamento de PATHCCH_DO_NOT_NORMALIZE_SEGMENTS.
Nota Esse valor está disponível a partir do Windows 10, versão 1703.
PATHCCH_ENSURE_TRAILING_SLASH
0x00000020
Ao combinar ou normalizar um caminho, verifique se há uma barra invertida à direita.
Nota Esse valor está disponível a partir do Windows 10, versão 1703.
[out] ppszPathOut
O endereço de um ponteiro para um buffer que, quando essa função retorna com êxito, recebe a cadeia de caracteres de caminho combinada. É responsabilidade do chamador liberar esse recurso, quando ele não for mais necessário, chamando a função LocalFree . Esse valor não pode ser NULL.
Retornar valor
Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Embora pszPathIn ou pszMore possam NULL, ambos não podem ser NULL.
Essa função dá suporte a estes formulários de caminho alternativos:
\\?\
\\?\\UNC\
\\?\Volume{guid}\
Requisitos
Requisito
Valor
Cliente mínimo com suporte
Windows 8 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte
Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP]