0

セクターあたりのバイト数が 4096 のディスクに書き込もうとすると、入力バッファー サイズ = 512 の WriteFile() Win32 呼び出しが失敗します。[3 TB ディスク]。入力バッファ サイズ = 4096 の同じ WriteFile は正常に動作します。

この動作を説明できる体はありますか。

4

1 に答える 1

3

低レベルの I/O 操作の場合、バッファーはセクター サイズの整数倍である必要があります。あなたの場合、k*4096. ほとんどの場合、ハード ドライブはずっと前に製造されたものではありません。これらは「高度なフォーマット」と呼ばれ、1 セクターあたり 4096 バイトです。私のは古いので512に設定してもかまいません。この機能を使用してGetDiskFreeSpace、ハード ドライブについて詳しく調べてください。

于 2013-03-09T07:10:47.487 に答える