كيف يمكنك تحديد حجم كتلة القرص IO الأمثل على Win32؟
سؤال
على أنظمة POSIX ، يحتوي عضو ST_Blksize في هيكل STAT على حجم الكتلة الأمثل لـ IO لملف معين. يبدو أن تطبيقات Win32 لـ STAT (_stat & _stat64) لا تدعم هذا الحقل. ما هي الطريقة المكافئة لـ Win32 لتحديد حجم كتلة IO الأمثل لملف أو نظام ملفات معين؟
المحلول
لست متأكدًا مما إذا كان هذا سيعيد دائمًا الرقم الأمثل ، ولكن مكالمة Win32 GetDiskFreeSpace
يعود ، من بين أشياء أخرى ، lpBytesPerSector
و lpSectorsPerCluster
; ؛ اضرب تلك للحصول على البايت لكل مجموعة وهي (ربما) قيمة معقولة لاستخدامها كحجم مخزن مؤقت.
لا تنطبق هذه المكالمة على الملفات ، بل أنظمة الملفات ، لذلك يتعين عليك معرفة الجذر الذي يعيش عليه الملف قبل استخدامه.
لا تنتمي إلى StackOverflow