Função PathCchCombine (pathcch.h)

Combina dois fragmentos de caminho em um único caminho. Essa função também canoniza todos os elementos de caminho relativo, removendo elementos "." e "." para simplificar o caminho final.

Essa função difere de PathCchCombineEx porque você está restrito a um caminho final de comprimento MAX_PATH.

Essa função difere de PathAllocCombine porque o chamador deve declarar o tamanho da cadeia de caracteres retornada, que é armazenada na pilha.

Essa função é diferente de PathCombine , pois aceita caminhos com prefixos "\", "\?" e "\?\UNC".

Nota Essa função, PathCchCombineEx ou PathAllocCombine deve ser usada no lugar de PathCombine para evitar a possibilidade de um estouro de buffer.

Sintaxe

WINPATHCCHAPI HRESULT PathCchCombine(
  [out]          PWSTR  pszPathOut,
  [in]           size_t cchPathOut,
  [in, optional] PCWSTR pszPathIn,
  [in, optional] PCWSTR pszMore
);

Parâmetros

[out] pszPathOut

Um ponteiro para um buffer que, quando essa função retorna com êxito, recebe a cadeia de caracteres de caminho combinada. Esse parâmetro pode apontar para o mesmo buffer que pszPathIn ou pszMore.

[in] cchPathOut

O tamanho do buffer apontado por pszPathOut, em caracteres.

[in, optional] pszPathIn

Um ponteiro para a primeira cadeia de caracteres de caminho. Esse valor pode ser NULL.

[in, optional] 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. Esse valor pode ser NULL.

Retornar valor

Essa função retorna um código HRESULT , incluindo o seguinte.

Código de retorno Descrição
S_OK
A função foi bem-sucedida. Observe que isso também inclui o caso de uma extensão vazia, como um período sem caracteres após ela. Nesse caso, a cadeia de caracteres original é retornada sem alterações.
E_INVALIDARG
Esse valor pode ser causado por várias coisas, como o parâmetro pszPathOut que está sendo definido como NULL ou o valor cchPathOut sendo definido como 0 ou um valor maior que PATHCCH_MAX_CCH.
E_OUTOFMEMORY
A função não pôde alocar memória suficiente para executar a operação.
PATHCCH_E_FILENAME_TOO_LONG
O tamanho de um ou ambos os caminhos originais excedeu PATHCCH_MAX_CCH.

Comentários

Se pszPathIn e pszMore forem NULL ou apontarem para cadeias de caracteres vazias, uma única barra invertida será copiada para o buffer apontado por pszPathOut.

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]
Plataforma de Destino Windows
Cabeçalho pathcch.h
Biblioteca Pathcch.lib

Confira também

PathCchCanonicalize

PathCchCanonicalizeEx

PathCchCombineEx