以下是引用吹水佬在2016-9-22 16:59:50的发言:
按微软的说法,这个高低位数值是:
_INT64 RealSize = ((__INT64)nFileSizeHigh * (MAXDWORD+1)) + (__INT64)nFileSizeLow
其中:MAXDWORD 是 0x0ffffffff
也就是说:size_real = nHSize*0x100000000 + nLSize
按微软的说法,这个高低位数值是:
_INT64 RealSize = ((__INT64)nFileSizeHigh * (MAXDWORD+1)) + (__INT64)nFileSizeLow
其中:MAXDWORD 是 0x0ffffffff
也就是说:size_real = nHSize*0x100000000 + nLSize
我测试到的规律是:
1小于2g,高位0,低位正数
2大于2g,高位0,低位负数 (小于4g)
3大于4g,高位1,低位正数 (小于6g)
4大于6g,(没这么大的文件,未测,我猜测高位是1,低位是负数,所以我就暂时下了结论了)