왜 GetTempPath은 항상 짧은 경로 이름을 반환합니까? 결과적으로 반환 된 문자열을 GetLongPathName으로 변환하는 대신 긴 경로 이름을 반환하는 방법이 있습니까?Win32 API의 GetTempPath 함수 정보
1
A
답변
4
GetTempPath
은 보통 TMP
또는 TEMP
(최소한 Windows XP의 경우)이라는 환경 변수의 값을 짧은 경로 이름으로 반환합니다.
환경 변수를 초기화 할 때 Windows에서 HKEY_CURRENT_USER\Environment
레지스트리 키의 짧은 경로 이름으로 변환하는 것으로 나타납니다.
0
GetTempPath를 사용하는 대신 TEMP 환경 변수의 값을 가져 오는 것이 가장 좋은 이유는 무엇입니까? 그것은 이미 긴 길일 것입니다.
0
나는 이것이 호환성을 이유로 이루어진 것이라고 생각합니다. 이전 버전의 Windows에서는 임시 경로가 비교적 짧았습니다. 최신 Windows에서는이 경로가 훨씬 길어집니다. 많은 오래된 응용 프로그램은 임시 경로 검색을 위해 고정 길이 (작은 길이)의 버퍼를 사용할 수 있습니다. 긴 파일 이름 (비교적 큰 파일)을 반환하면 버퍼가 너무 작아서이 오래된 프로그램이 손상됩니다. 그것이 GetTempPath가 짧은 경로 이름을 반환하는 이유입니다.
관련 문제
- 1. Win32 API의 테이블 형식
- 2. Win32 API의 게임 루프
- 3. GetUserName Win32 API의 문제점은 무엇입니까?
- 4. Python Win32 - DriveInfo.IsReady에 해당하는 함수
- 5. MSDN에서 Win32 API의 URL을 어떻게 빨리 찾을 수 있습니까?
- 6. 사용자가 보는 웹 사이트의 URL을 win32 API의 로그 파일에 저장
- 7. 프로그래밍 방식으로 Win32 API의 그림 컨트롤에 PNG 설정
- 8. win32 API의 텍스트 파일에 마우스 좌표를 쓰는 방법은 무엇입니까?
- 9. C++의 exit() 함수 정보
- 10. Perl에서 함수 배열 사용 정보
- 11. C++의 예약 된 작업을위한 Win32 함수
- 12. .NET 런타임은 내부적으로 win32 함수 호출에 매핑됩니까?
- 13. 루아에 외계인과 문자열을 반환하는 Win32 함수 호출
- 14. .Net RNGCryptoServiceProvider 클래스 대 Win32 CryptGenRandom() 함수
- 15. Win32 API 도구 창
- 16. 오픈 소셜 Win32 호환성
- 17. LoadRunner Automation API의 작업 스크립트가 있습니까?
- 18. googlemaps에 디지털화 된 도시지도가있는 경우 반환하는 googlemaps API의 함수/메소드
- 19. Windows API의 USB 장치 제조업체 이름
- 20. Win32 DLL에서 형식 가져 오기
- 21. 비공개 API의
- 22. Google Places API의 비즈니스 등급이
- 23. 함수 호출에 대한 세부 정보 얻기
- 24. win32/C++을 사용하여 여러 디스플레이 정보 검색
- 25. Win32 스트리밍 API와 DMZ
- 26. REST API의 스트림 테이블이 불완전합니까?
- 27. 일부 Win32 API 호출 소개 버전
- 28. JavaScript API의 메소드 인수를 검증해야합니까?
- 29. Google 데이터 API의 Delphi 구현이 있습니까?
- 30. 레거시 API의 가상화 및 최신 API와의 공존?
확인했습니다. 그렇지 않습니다. –