2009-09-04 7 views
0

私たちは小さな自作のWindowsベースのツールを使って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

関連する問題