2009-09-04 2 views
0

우리는 작은 자체 제작 창 기반 도구를 사용하여 OS, 이미지 및 SD 카드에 데이터가 들어있는 FAT 파티션을 작성한 다음 내장 매체에서 부팅 매체 및 데이터 저장소로 사용합니다.Windows에서 SD 카드의 실제 크기를 어떻게 얻을 수 있습니까?

나는 현재 IOCTL_DISK_GET_DRIVE_GEOMETRY을 사용하여 SD 카드의 크기를 얻고 있습니다. 그러나 CHS 형식의 제한으로 인해 SD 카드의 실제 크기가 아닙니다. 이는 몇 가지 섹터 만 낭비되기 때문에 큰 문제는 아니지만 카드의 사용 가능한 공간을 모두 사용하는 것이 좋습니다.

드라이브 크기를 얻는 더 좋은 방법이 있습니까? 기억, 나는 파티션 크기에 관심이 없다. SD 카드에서 액세스 할 수있는 총 바이트 수 (또는 섹터)가 필요합니다. 또한 드라이브가 포매팅되지 않을 수도 있습니다 (올바르게 - 내 도구는 "너무 작음"파티션을 만듭니다). 그리고 먼저 창으로 포매팅하는 것은 옵션이 아닙니다.

Fozi는

답변

0

당신은 IOCTL_DISK_GET_LENGTH_INFO를 사용하여 시도 할 수 있습니다. 그러나이 IOCTL은 Windows XP 및 이후 OS에 추가되었습니다.
http://msdn.microsoft.com/en-us/library/aa365178(VS.85).aspx

+0

감사합니다. 실패 할 경우에도 드라이브 매개 변수로 폴백 할 수 있습니다. – Fozi

+0

@swatkat : MSDN URL의 (VS.85) 부분을 생략 할 수 있습니다. – MSalters

관련 문제