GetLongPathNameA 함수(fileapi.h)

지정된 경로를 긴 형식으로 변환합니다.

이 작업을 트랜잭션 작업으로 수행하려면 GetLongPathNameTransacted 함수를 사용합니다.

파일 및 경로 이름에 대한 자세한 내용은 이름 지정 파일, 경로 및 네임스페이스참조하세요.

통사론

DWORD GetLongPathNameA(
  [in]  LPCSTR lpszShortPath,
  [out] LPSTR  lpszLongPath,
  [in]  DWORD  cchBuffer
);

매개 변수

[in] lpszShortPath

변환할 경로입니다.

[out] lpszLongPath

긴 경로를 받을 버퍼에 대한 포인터입니다.

lpszShortPath 매개 변수에 사용한 것과 동일한 버퍼를 사용할 수 있습니다.

[in] cchBuffer

TCHAR가리키는 버퍼 lpszLongPath 크기입니다.

반환 값

함수가 성공하면 반환 값은 종료 null 문자를 포함하지 않고 lpszLongPath복사된 문자열의 길이(TCHAR)입니다.

lpszLongPath 버퍼가 너무 작아서 경로를 포함할 수 없는 경우 반환 값은 경로 및 종료 null 문자를 보유하는 데 필요한 버퍼의 크기(TCHAR)입니다.

파일이 없는 경우와 같은 다른 이유로 인해 함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.

발언

많은 파일 시스템에서 짧은 파일 이름에는 타일(~) 문자가 포함됩니다. 그러나 모든 파일 시스템이 이 규칙을 따르는 것은 아닙니다. 따라서 경로에 타일(~) 문자가 없는 경우 GetLongPathName 호출을 건너뛸 수 있다고 가정하지 마세요.

파일 또는 디렉터리가 있지만 긴 경로를 찾을 수 없는 경우 lpszShortPath 매개 변수가 참조하는 문자열을 lpszLongPath 매개 변수가 참조하는 버퍼에 복사한 후 GetLongPathName 성공합니다.

반환 값이 cchBuffer지정된 값보다 크면 경로를 저장할 수 있을 만큼 큰 버퍼를 사용하여 함수를 다시 호출할 수 있습니다. 이 사례의 예제는 GetFullPathName대한 예제 코드 섹션을 참조하세요.

참고 이 경우 반환 값은 종료 null 문자를 포함하는 길이이지만 성공 시 반환 값에는 종료 null 문자가 포함되지 않습니다.
 
파일 또는 디렉터리에 액세스할 수 있지만 해당 파일 또는 디렉터리의 일부 부모 디렉터리에 대한 액세스 권한은 없습니다. 따라서 경로 구성 요소의 부모 디렉터리를 쿼리하여 해당 구성 요소의 긴 이름을 확인할 수 없는 경우 getLongPathName 실패할 수 있습니다. 파일 확장명이 3자보다 길거나 총 길이가 12자보다 긴 디렉터리 구성 요소의 경우 이 검사를 건너뛸 수 있습니다. 자세한 내용은 명명 파일, 경로 및 네임스페이스짧은 이름 및 긴 이름 섹션을 참조하세요.

Windows 8 및 Windows Server 2012에서 이 함수는 다음 기술에서 지원됩니다.

기술 지원
SMB(서버 메시지 블록) 3.0 프로토콜 예
SMB 3.0 TFO(투명한 장애 조치(failover) 예
SO(스케일 아웃 파일 공유)가 있는 SMB 3.0 예
CsvFS(클러스터 공유 볼륨 파일 시스템) 예
ReFS(복원 파일 시스템) 예
 

예제

GetLongPathName사용하는 예제는 GetFullPathName예제 코드 섹션을 참조하세요.

메모

fileapi.h 헤더는 GETLongPathName을 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.

요구 사항

요구 값
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 fileapi.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

파일 관리 함수

GetFullPathName

GetLongPathNameTransacted

GetShortPathName

이름 지정 파일, 경로 및 네임스페이스