ファンクションコールの 4E00h と 4F00h を使って,再帰的にファイル検索を実行しつつカウントしていくわけですよね。メインはそういうわけだけれど,DTA を初期化したり DOS の構造体を保存・復帰したり, 結構アレコレやってますね。クラスタサイズは fl..15-1 ってナンダコレ。全然わからない。
大容量ドライブの情報取得というのはなかなか厄介で,2ギガを超えるドライブはDOS標準で取得できず,拡張ファンクションコールで2ギガ超の情報を取得することはできても,4ギガを超えると32ビットを溢れてしまいます。要するに中途半端。
4ギガ超に対応しようとすると,次のマクロ(ドライブ情報)のように
http://homepage3.nifty.com/mezala/vz/workshop/mfile.html#dskspc2キロバイト単位での表示になってしまうのは仕方がないですね。
専有クラスタ単位のほうがよいのであれば,むしろキロバイト単位でもよいのでしょうかね。1クラスタ512バイトというドライブは,小容量のフラッシュメモリなど,かなり限られた環境でしょうから。
> そして、もっと大きな問題は、
自分を信じましょう。
…というより,「人の仕事を疑え」が職人気質。by とらじ