{\r
class FileBreaker\r
{\r
+ const long ShirnkLength = 1;\r
\r
public static void BreakFileOrFolder(string path)\r
{\r
\r
private static void BreakFileSlowSpeed(FileStream fs)\r
{\r
- if (BreakFileInMFTArea(fs))\r
- return;\r
fs.Seek(0, SeekOrigin.Begin);\r
byte[] data = new byte[Settings.Default.FillLengthAtHiSpeed];\r
for (long i = 0; i < fs.Length; i += data.Length)\r
fs.Write(data,0,data.Length);\r
+ fs.Flush(true);\r
+ fs.SetLength(ShirnkLength);\r
}\r
\r
private static void BreakFileHiSpeed(FileStream fs)\r
{\r
- if (BreakFileInMFTArea(fs))\r
- return;\r
fs.Seek(0, SeekOrigin.Begin);\r
byte[] data = new byte[Settings.Default.FillLengthAtHiSpeed];\r
fs.Write(data, 0, data.Length);\r
fs.Seek(-data.Length, SeekOrigin.End);\r
fs.Write(data, 0, data.Length);\r
- }\r
-\r
- private static bool BreakFileInMFTArea(FileStream fs)\r
- {\r
- if (fs.Length >= 1024) //MFTのレコードサイズ以上か\r
- return false;\r
- fs.Seek(0, SeekOrigin.Begin);\r
- byte[] data = new byte[fs.Length];\r
- fs.Write(data, 0, data.Length);\r
- return true;\r
+ fs.Flush(true);\r
+ fs.SetLength(ShirnkLength);\r
}\r
\r
public static void BreakFolder(string folder)\r
// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を \r
// 既定値にすることができます:\r
// [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion("1.15.0.0")]\r
-[assembly: AssemblyFileVersion("1.15.0.0")]\r
+[assembly: AssemblyVersion("1.16.0.0")]\r
+[assembly: AssemblyFileVersion("1.16.0.0")]\r
\r
<!-- バージョンアップ時にはProductVersionとProductのId属性を更新すること -->\r
<?define UpgradeCode = "ABE07AF2-98D1-44B2-A05F-E2A94271F7A7"?>\r
- <?define ProductVersion = "1.15.0"?>\r
+ <?define ProductVersion = "1.16.0"?>\r
\r
<Product Name="CompleteEraser"\r
- Id="07A584E0-0A63-49B7-838C-71D664FC2093"\r
+ Id="1DE24257-0DE6-4097-ADDF-2CECB70AE443"\r
UpgradeCode="$(var.UpgradeCode)"\r
Language="1041" Codepage="932"\r
Version="$(var.ProductVersion)" Manufacturer="FooProject">\r