GetLogicalDriveStrings(), GetDriveType()




사용자 삽입 이미지

  cf). LPTSTR : NULL문자로 끝나는 유니코드 도는 윈도우 문자열의 포인터
        성공시 : 버퍼에 복사된 문자열의 길이(끝의 NULL 문자는 포함하지 않은 길이)
        실패시 : zero

  cf). char pTmp[256];
        GetLogicalDriveStrings(256, pTmp);

    pTmp[256]




사용자 삽입 이미지

GetDriveType(strDrive);
// 인수에는 각, "C:\", "D:\", "E:\" 가 들어간다.


사용자 삽입 이미지




예제 소스

CString strStatus;    // 드라이브 타입명 저장
  CString strDrive;    // 논리적 드라이브명 임시 저장
  char pTmp[256];      // local drive 이름의 나열 저장
  memset(pTmp, '\0', 256);
 
  // 논리적 드라이브 정보 얻기
  GetLogicalDriveStrings(256, pTmp);

  for(int i=0 ; i<256 ; i++) {
    if(pTmp[i] == '\0' && pTmp[i+1] == '\0')
      break;
   
    strDrive.Empty();
    while(pTmp[i] != '\0')
      strDrive += pTmp[i++];

    switch(GetDriveType(strDrive)) {
    case DRIVE_CDROM:
      strStatus = "CD-ROM 드라이브";
      break;
    case DRIVE_REMOVABLE:
      strStatus = "플로피 디스크";
      break;
    case DRIVE_FIXED:
      strStatus = "로컬 디스크";
      break;
    default :
      strStatus = "알수없는 디스크";
      break;
    }
  }
}
 





@
Posted by six605
,