与 read_all 保持一致:长度来源多为 sizet/strlen,形参用 sizet 可避免 64->32 隐式窄化;内部对 count>0xFFFFFFFF 返回 ERR,仅在 WriteFile 处显式 ULONG(count)
与 f.size()(LONGLONG)同宽,消除'64 位尺寸进 32 位形参'的隐式窄化诱因;内部 min(file_size, cap-1) 全程用 sizet,只在交给 ReadFile(ULONG) 处显式窄化,且 cap-1 > 4GiB-1 直接返回失败(单次读上限 DWORD),不再静默回绕。