Changeset 1551


Ignore:
Timestamp:
01/18/10 05:23:07 (5 years ago)
Author:
lowjoel
Message:

Replace all ERROR_* constants with the Win32ErrorCodes class (to be more descriptive.) Addresses #284: Eraser.Util rewrite

Location:
branches/eraser6/CodeReview
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs

    r1529 r1551  
    9393                catch (IOException e) 
    9494                { 
    95                     switch (System.Runtime.InteropServices.Marshal.GetLastWin32Error()) 
     95                    switch ((Win32ErrorCodes)System.Runtime.InteropServices.Marshal.GetLastWin32Error()) 
    9696                    { 
    97                         case 5: //ERROR_ACCESS_DENIED 
     97                        case Win32ErrorCodes.AccessDenied: 
    9898                            throw new UnauthorizedAccessException(S._("The file {0} could not " + 
    9999                                "be erased because the file's permissions prevent access to the file.", 
    100100                                info.FullName)); 
    101101 
    102                         case 32: //ERROR_SHARING_VIOLATION 
     102                        case Win32ErrorCodes.SharingViolation: 
    103103                            //If after FilenameEraseTries the file is still locked, some program is 
    104104                            //definitely using the file; throw an exception. 
     
    126126                catch (IOException e) 
    127127                { 
    128                     switch (System.Runtime.InteropServices.Marshal.GetLastWin32Error()) 
     128                    switch ((Win32ErrorCodes)System.Runtime.InteropServices.Marshal.GetLastWin32Error()) 
    129129                    { 
    130                         case 5: //ERROR_ACCESS_DENIED 
     130                        case Win32ErrorCodes.AccessDenied: 
    131131                            throw new UnauthorizedAccessException(S._("The file {0} could not " + 
    132132                                "be erased because the file's permissions prevent access to the file.", 
    133133                                info.FullName), e); 
    134134 
    135                         case 32: //ERROR_SHARING_VIOLATION 
     135                        case Win32ErrorCodes.SharingViolation: 
    136136                            //If after FilenameEraseTries the file is still locked, some program is 
    137137                            //definitely using the file; throw an exception. 
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs

    r1532 r1551  
    344344                catch (System.ComponentModel.Win32Exception e) 
    345345                { 
    346                     if (e.NativeErrorCode != 5) //ERROR_ACCESS_DENIED 
     346                    if (e.NativeErrorCode != (int)Win32ErrorCodes.AccessDenied) 
    347347                        throw; 
    348348                } 
     
    437437                    (uint)infoBuffer.Length, out dataWritten); 
    438438 
    439                 if (sysInfo == 0 /*ERROR_SUCCESS*/ && dataWritten > 0) 
     439                if (sysInfo == (int)Win32ErrorCodes.Success && dataWritten > 0) 
    440440                { 
    441441                    byte[] entropy = new byte[dataWritten]; 
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj

    r1548 r1551  
    8585  <ItemGroup> 
    8686    <Compile Include="NativeMethods\Sfc.cs" /> 
     87    <Compile Include="Win32ErrorCodes.cs" /> 
    8788  </ItemGroup> 
    8889  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs

    r1550 r1551  
    133133                    if (!handle.IsInvalid) 
    134134                        return true; 
    135                     else if (Marshal.GetLastWin32Error() == 2 /*ERROR_FILE_NOT_FOUND*/) 
     135                    else if (Marshal.GetLastWin32Error() == (int)Win32ErrorCodes.FileNotFound) 
    136136                        return false; 
    137137 
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

    r1550 r1551  
    5252                    pathNamesBuffer, (uint)pathNamesBuffer.Capacity, out returnLength)) 
    5353                { 
    54                     if (Marshal.GetLastWin32Error() == 234 /*ERROR_MORE_DATA*/) 
     54                    if (Marshal.GetLastWin32Error() == (int)Win32ErrorCodes.MoreData) 
    5555                        pathNamesBuffer.EnsureCapacity((int)returnLength); 
    5656                    else 
     
    9393            { 
    9494                int lastError = Marshal.GetLastWin32Error(); 
    95                 switch (lastError) 
    96                 { 
    97                     case 0:     //ERROR_NO_ERROR 
    98                     case 21:    //ERROR_NOT_READY 
    99                     case 87:    //ERROR_INVALID_PARAMETER: when the volume given is not mounted. 
    100                     case 1005:  //ERROR_UNRECOGNIZED_VOLUME 
     95                switch ((Win32ErrorCodes)lastError) 
     96                { 
     97                    case Win32ErrorCodes.Success: 
     98                    case Win32ErrorCodes.NotReady: 
     99                    case Win32ErrorCodes.InvalidParameter:  //when the volume given is not mounted. 
     100                    case Win32ErrorCodes.UnrecognizedVolume: 
    101101                        break; 
    102102 
     
    148148 
    149149                //Close the handle 
    150                 if (Marshal.GetLastWin32Error() == 18 /*ERROR_NO_MORE_FILES*/) 
     150                if (Marshal.GetLastWin32Error() == (int)Win32ErrorCodes.NoMoreFiles) 
    151151                    NativeMethods.FindVolumeClose(handle); 
    152152 
     
    177177                else 
    178178                { 
    179                     switch (Marshal.GetLastWin32Error()) 
     179                    switch ((Win32ErrorCodes)Marshal.GetLastWin32Error()) 
    180180                    { 
    181                         case 1: //ERROR_INVALID_FUNCTION 
    182                         case 2: //ERROR_FILE_NOT_FOUND 
    183                         case 3: //ERROR_PATH_NOT_FOUND 
    184                         case 4390: //ERROR_NOT_A_REPARSE_POINT 
     181                        case Win32ErrorCodes.InvalidFunction: 
     182                        case Win32ErrorCodes.FileNotFound: 
     183                        case Win32ErrorCodes.PathNotFound: 
     184                        case Win32ErrorCodes.NotAReparsePoint: 
    185185                            break; 
    186186                        default: 
     
    194194 
    195195            throw Marshal.GetExceptionForHR(KernelApi.GetHRForWin32Error( 
    196                 4390 /*ERROR_NOT_A_REPARSE_POINT*/)); 
     196                (int)Win32ErrorCodes.NotAReparsePoint)); 
    197197        } 
    198198 
     
    272272                    return totalNumberOfFreeBytes != freeBytesAvailable; 
    273273                } 
    274                 else if (Marshal.GetLastWin32Error() == 21 /*ERROR_NOT_READY*/) 
     274                else if (Marshal.GetLastWin32Error() == (int)Win32ErrorCodes.NotReady) 
    275275                { 
    276276                    //For the lack of more appropriate responses. 
     
    362362 
    363363                //Close the handle 
    364                 if (Marshal.GetLastWin32Error() == 18 /*ERROR_NO_MORE_FILES*/) 
     364                if (Marshal.GetLastWin32Error() == (int)Win32ErrorCodes.NoMoreFiles) 
    365365                    NativeMethods.FindVolumeMountPointClose(handle); 
    366366 
  • branches/eraser6/CodeReview/Eraser/Program.cs

    r1525 r1551  
    157157                catch (UnauthorizedAccessException) 
    158158                { 
    159                     return 5; //ERROR_ACCESS_DENIED 
     159                    return (int)Win32ErrorCodes.AccessDenied; 
    160160                } 
    161161                catch (Win32Exception e) 
Note: See TracChangeset for help on using the changeset viewer.