드라이브의 타입과 남은 용량과 얻어보는 방법에 대해서 알아볼게요.
드라이브의 남은 용량은 GetDiskFreeSpaceEx()를 사용해 가져 올 수 있는데
가져온 데이터가 바이트 단위이기 때문에 UI로 남은 공간을 표시할 시
표시할 데이터 단위로 변환해야 한다는 걸 잊지마세요.
설명
- ::GetDriveType() : 드라이브 타입 가져오기
UINT GetDriveTypeA(LPCSTR lpRootPathName);
DRIVE_UNKNOWN 0
DRIVE_NO_ROOT_DIR 1
DRIVE_REMOVABLE 2
DRIVE_FIXED 3
DRIVE_REMOTE 4
DRIVE_CDROM 5
DRIVE_RAMDISK 6
- GetDiskFreeSpaceExA() : 드라이브 남은 공간 확인
BOOL GetDiskFreeSpaceExA(
LPCSTR lpDirectoryName,
PULARGE_INTEGER lpFreeBytesAvailableToCaller,
PULARGE_INTEGER lpTotalNumberOfBytes,
PULARGE_INTEGER lpTotalNumberOfFreeBytes
);
GetDiskFreeSpaceExA() 설명 - MS Docs
소스 코드
LPCSTR lpDirectoryName = "C:";
ULARGE_INTEGER lpFreeBytesAvailableToCaller;
ULARGE_INTEGER lpTotalNumberOfBytes;
ULARGE_INTEGER lpTotalNumberOfFreeBytes;
// 타입
UINT nType = ::GetDriveType(lpDirectoryName);
// 남은 공간 정보 가져오기
BOOL bResult = GetDiskFreeSpaceEx(lpDirectoryName,
&lpFreeBytesAvailableToCaller,
&lpTotalNumberOfBytes,
&lpTotalNumberOfFreeBytes);
결과
나온 값은 바이트 단위로 데이터 크기 변환하여
실제 디스크의 남은 공간과 맞는지 확인해보세요.
#GetDiskFreeSpaceEx #GetDriveType #MFC #VC++
#하드디스크남은용량가져오기 #하드디스크타입정보
#GetHDDFreeByte #디스크남은공간가져오기
'프로그래밍 > MFC' 카테고리의 다른 글
Visual Studio 2019 Community 설치하고 MFC 개발 환경 구축하기 (비주얼 스튜디오, vs 2019, window) (0) | 2019.07.06 |
---|---|
[MFC] 시스템 정보 가져오기 (CPU 스레드 수, 타입 등) (0) | 2019.03.11 |
[MFC] BCGControl DLL 관련 추가 방법 (0) | 2016.11.16 |
[MFC] 메시지 처리 (0) | 2016.09.20 |
[MFC] 문자열 비교하기 (0) | 2016.09.13 |