GetLogicalDrives()는, 시스템에 A: C: 드라이브 만이 존재한다고 하면
0000 0000 0000 0000 0000 0000 0000 0101 = 5(10진수) 형태로 DWORD return 해줌.
이를 이용해서, 시스템에 인식되어있는 Logical Drive 들의 Bitmask형태의 데이터 통해서
drive들의 개수를 리턴하는 함수
01: /*============================================================
02: FUNCTION
03: UINT Count_Drives(void)
04: DESCRIPTION
05: 현재 시스템에 인식되어 있는 Logical Drive의 개수를 return
06: RETURNS
07: number of logical drives
08: SIDE EFFECTS
09: None
10: ============================================================*/
11: UINT Count_Drives()
12: {
13: DWORD dwDriveData;
14: UINT i, driveCNT=0;
15:
16: dwDriveData = GetLogicalDrives();
17:
18: for(i=0; i<32; i++)
19: {
20: if(dwDriveData & ((DWORD)0x01 << i))
21: driveCNT++;
22: }
23:
24: return driveCNT;
25: }
'Code review' 카테고리의 다른 글
[WinApi]Dialog base start (0) | 2009.05.27 |
---|---|
[C]Fucntion comment (0) | 2009.05.27 |
[C]file divide (0) | 2009.05.27 |