FILE_STANDARD_INFORMATION 構造体で NtQueryInformationFileを使用して、ファイルの割り当てサイズを取得します。ただし、小さなファイルの場合、間違った1 つの結果が返されます。たとえば、サイズが 1 バイトのテキスト ファイルは、4096 バイトではなく、8 バイトの割り当てサイズを返します。問題はどこですか?
1 エクスプローラー (私の場合は Windows XP Checked Build) では、ディスク上のサイズがより高い数字 (サイズ 1 のファイルで 4096 バイト) を報告するため、この値は正しくないと想定しています。