PathCchCombine 함수(pathcch.h)

두 경로 조각을 단일 경로로 결합합니다. 또한 이 함수는 상대 경로 요소를 정식화하여 "." 및 ".." 요소를 제거하여 최종 경로를 간소화합니다.

이 함수는 길이가 MAX_PATH 최종 경로로 제한된다는 점에서 PathCchCombineEx 와 다릅니다.

이 함수는 호출자가 스택에 저장된 반환된 문자열의 크기를 선언해야 한다는 점에서 PathAllocCombine 과 다릅니다.

이 함수는 "\", "\?" 및 "\?\UNC" 접두사를 사용하여 경로를 허용한다는 점에서 PathCombine 과 다릅니다.

참고 버퍼 오버런 가능성을 방지하기 위해 PathCombine 대신 이 함수 PathCchCombineEx 또는 PathAllocCombine을 사용해야 합니다.

구문

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

매개 변수

[out] pszPathOut

이 함수가 성공적으로 반환될 때 결합된 경로 문자열을 수신하는 버퍼에 대한 포인터입니다. 이 매개 변수는 pszPathIn 또는 pszMore 와 동일한 버퍼를 가리킬 수 있습니다.

[in] cchPathOut

pszPathOut이 가리키는 버퍼의 크기(문자)입니다.

[in, optional] pszPathIn

첫 번째 경로 문자열에 대한 포인터입니다. 이 값은 NULL일 수 있습니다.

[in, optional] pszMore

두 번째 경로 문자열에 대한 포인터입니다. 이 경로가 단일 백슬래시로 시작하는 경우 pszPathIn이 가리키는 경로의 루트와만 결합됩니다. 이 경로가 정규화된 경우 다른 경로와 결합되지 않고 출력 버퍼에 직접 복사됩니다. 이 값은 NULL일 수 있습니다.

반환 값

이 함수는 다음을 포함하여 HRESULT 코드를 반환합니다.

반환 코드 Description
S_OK
함수가 성공했습니다. 여기에는 빈 확장의 경우(예: 문자가 없는 마침표)도 포함됩니다. 이 경우 원래 문자열은 비정형으로 반환됩니다.
E_INVALIDARG
이 값은 pszPathOut 매개 변수가 NULL로 설정되거나 cchPathOut 값이 0으로 설정되거나 PATHCCH_MAX_CCH보다 큰 값과 같은 여러 가지로 인해 발생할 수 있습니다.
E_OUTOFMEMORY
함수가 작업을 수행하기에 충분한 메모리를 할당할 수 없습니다.
PATHCCH_E_FILENAME_TOO_LONG
원래 경로 중 하나 또는 둘 다의 크기가 PATHCCH_MAX_CCH 초과했습니다.

설명

pszPathInpszMore모두 NULL이거나 빈 문자열을 가리키는 경우 단일 백슬래시가 pszPathOut이 가리키는 버퍼에 복사됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 pathcch.h
라이브러리 Pathcch.lib

추가 정보

PathCchCanonicalize

PathCchCanonicalizeEx

PathCchCombineEx