[WINAPI] GetDriveType 함수
GetDriveType 함수의 원형
UINT WINAPI GetDriveType( _In_opt_ LPCTSTR lpRootPathName );
인자 lpRootPathName은 말 그대로 드라이브의 루트 이름을 전달해주면 됩니다.
GetDriveType 함수는 인자로 전달받은 드라이브가 어떤 종류의 드라이브인지 판별하여 리턴해줍니다.
각 리턴 값들에 대한 설명입니다.
Return code/value | Description |
---|---|
| The drive type cannot be determined. |
| The root path is invalid; for example, there is no volume mounted at the specified path. |
| The drive has removable media; for example, a floppy drive, thumb drive, or flash card reader. |
| The drive has fixed media; for example, a hard disk drive or flash drive. |
| The drive is a remote (network) drive. |
| The drive is a CD-ROM drive. |
| The drive is a RAM disk. |
주요 드라이브에 대한 설명을 하자면
DRIVE_REMOVABLE은 제거 가능한 드라이브로 USB를 떠올리면 됩니다.
DRIVE_FIXED은 주로 사용하는 C:나 D: 같은 고정 하드디스크라고 생각하시면 됩니다.
DRIVE_CDROM은 잘 아시리라 믿고, DRIVE_REMOTE은 네트워크 가상 드라이브를 의미합니다.
사용 방법
1 2 3 4 5 | char cDriverName[] = "C:"; if(GetDriveType(cDriveName) == DRIVE_FIXED) { MessageBox(NULL, "DRIVE_FIXED Type입니다", cDriveName, MB_OK); } | cs |
1 2 3 4 5 6 7 8 9 10 11 | char cDriveName[10] = "A:"; int i; for(i=0; i<10; i++) { if(GetDriveType(cDriveName) == DRIVE_REMOVABLE) { MessageBox(NULL, "DRIVE_REMOVABLE Type입니다", cDriveName, MB_OK); } cDriveName[0]++; } | cs |
'프로그래밍' 카테고리의 다른 글
VisualStudioCode C++ 디버깅 오류 (0) | 2021.09.25 |
---|---|
JAVA Garbage Collection (0) | 2020.06.14 |