+ return new IOException (message, unchecked((int)0x80070000) | (int)error);
+
+ case MonoIOError.ERROR_HANDLE_DISK_FULL:
+ message = String.Format ("Disk full. Path {0}", path);
+ return new IOException (message, unchecked((int)0x80070000) | (int)error);
+
+ case MonoIOError.ERROR_DIR_NOT_EMPTY:
+ message = String.Format ("Directory {0} is not empty", path);
+ return new IOException (message, unchecked((int)0x80070000) | (int)error);
+
+ case MonoIOError.ERROR_ENCRYPTION_FAILED:
+ return new IOException ("Encryption failed", unchecked((int)0x80070000) | (int)error);
+
+ case MonoIOError.ERROR_CANNOT_MAKE:
+ message = String.Format ("Path {0} is a directory", path);
+ return new IOException (message, unchecked((int)0x80070000) | (int)error);
+
+ case MonoIOError.ERROR_NOT_SAME_DEVICE:
+ message = "Source and destination are not on the same device";
+ return new IOException (message, unchecked((int)0x80070000) | (int)error);