OSDN Git Service

一部ツールで復元できてしまう不具合を修正した
authorkonekoneko <jbh03215@gmail.com>
Sun, 29 Jul 2012 20:22:02 +0000 (05:22 +0900)
committerkonekoneko <jbh03215@gmail.com>
Sun, 29 Jul 2012 20:22:02 +0000 (05:22 +0900)
CompleteEraser/FileBreaker.cs
CompleteEraser/Properties/AssemblyInfo.cs
Installer/installer.xml

index 901bd7b..8a49470 100644 (file)
@@ -12,6 +12,7 @@ namespace CompleteEraser
 {\r
     class FileBreaker\r
     {\r
+        const long ShirnkLength = 1;\r
 \r
         public static void BreakFileOrFolder(string path)\r
         {\r
@@ -54,33 +55,23 @@ namespace CompleteEraser
 \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
index 849473e..dfdb4f7 100644 (file)
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
 // すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を \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
index 413241a..604b253 100644 (file)
@@ -4,10 +4,10 @@
 \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