Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
runtime
提交
48a3dbe5
R
runtime
项目概览
dotNET Platform
/
runtime
大约 1 年 前同步成功
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
runtime
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
48a3dbe5
编写于
8月 27, 2022
作者:
E
Edison Henrique Andreassy
提交者:
GitHub
8月 27, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Convert SHFileOperation error to Win IO error (#74607)
上级
acfd6832
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
98 addition
and
1 deletion
+98
-1
src/libraries/Microsoft.VisualBasic.Core/src/Microsoft/VisualBasic/FileIO/FileSystem.vb
...Basic.Core/src/Microsoft/VisualBasic/FileIO/FileSystem.vb
+65
-1
src/libraries/Microsoft.VisualBasic.Core/src/Microsoft/VisualBasic/Helpers/NativeTypes.vb
...sic.Core/src/Microsoft/VisualBasic/Helpers/NativeTypes.vb
+33
-0
未找到文件。
src/libraries/Microsoft.VisualBasic.Core/src/Microsoft/VisualBasic/FileIO/FileSystem.vb
浏览文件 @
48a3dbe5
...
@@ -1719,7 +1719,7 @@ Namespace Microsoft.VisualBasic.FileIO
...
@@ -1719,7 +1719,7 @@ Namespace Microsoft.VisualBasic.FileIO
Throw
New
OperationCanceledException
()
Throw
New
OperationCanceledException
()
End
If
End
If
ElseIf
Result
<>
0
Then
ElseIf
Result
<>
0
Then
ThrowWinIOError
(
Result
)
ThrowWinIOError
(
ToWinIOErrorCode
(
Result
)
)
End
If
End
If
End
Sub
End
Sub
...
@@ -1905,6 +1905,70 @@ Namespace Microsoft.VisualBasic.FileIO
...
@@ -1905,6 +1905,70 @@ Namespace Microsoft.VisualBasic.FileIO
End
Select
End
Select
End
Function
End
Function
#If TARGET_WINDOWS Then
''' <summary>
''' Convert SHFileOperation error code to Win IO error code.
''' </summary>
''' <param name="errorCode">SHFileOperation error code.</param>
''' <returns>Win IO error code.</returns>
Private
Shared
Function
ToWinIOErrorCode
(
ByVal
errorCode
As
Integer
)
As
Integer
Select
Case
errorCode
Case
NativeTypes
.
DE_SAMEFILE
Return
NativeTypes
.
ERROR_ALREADY_EXISTS
Case
NativeTypes
.
DE_MANYSRC1DEST
Return
NativeTypes
.
ERROR_INVALID_PARAMETER
Case
NativeTypes
.
DE_DIFFDIR
Return
NativeTypes
.
ERROR_NOT_SAME_DEVICE
Case
NativeTypes
.
DE_ROOTDIR
Return
NativeTypes
.
ERROR_ACCESS_DENIED
Case
NativeTypes
.
DE_OPCANCELLED
Return
NativeTypes
.
ERROR_CANCELLED
Case
NativeTypes
.
DE_DESTSUBTREE
Return
NativeTypes
.
ERROR_BAD_PATHNAME
Case
NativeTypes
.
DE_ACCESSDENIEDSRC
Return
NativeTypes
.
ERROR_ACCESS_DENIED
Case
NativeTypes
.
DE_PATHTOODEEP
Return
NativeTypes
.
ERROR_FILENAME_EXCED_RANGE
Case
NativeTypes
.
DE_MANYDEST
Return
NativeTypes
.
ERROR_INVALID_PARAMETER
Case
NativeTypes
.
DE_INVALIDFILES
Return
NativeTypes
.
ERROR_BAD_PATHNAME
Case
NativeTypes
.
DE_DESTSAMETREE
Return
NativeTypes
.
ERROR_INVALID_PARAMETER
Case
NativeTypes
.
DE_FLDDESTISFILE
Return
NativeTypes
.
ERROR_ALREADY_EXISTS
Case
NativeTypes
.
DE_FILEDESTISFLD
Return
NativeTypes
.
ERROR_ALREADY_EXISTS
Case
NativeTypes
.
DE_FILENAMETOOLONG
Return
NativeTypes
.
ERROR_FILENAME_EXCED_RANGE
Case
NativeTypes
.
DE_DEST_IS_CDROM
Return
NativeTypes
.
ERROR_WRITE_FAULT
Case
NativeTypes
.
DE_DEST_IS_DVD
Return
NativeTypes
.
ERROR_WRITE_FAULT
Case
NativeTypes
.
DE_DEST_IS_CDRECORD
Return
NativeTypes
.
ERROR_WRITE_FAULT
Case
NativeTypes
.
DE_FILE_TOO_LARGE
Return
NativeTypes
.
ERROR_FILE_TOO_LARGE
Case
NativeTypes
.
DE_SRC_IS_CDROM
Return
NativeTypes
.
ERROR_READ_FAULT
Case
NativeTypes
.
DE_SRC_IS_DVD
Return
NativeTypes
.
ERROR_READ_FAULT
Case
NativeTypes
.
DE_SRC_IS_CDRECORD
Return
NativeTypes
.
ERROR_READ_FAULT
Case
NativeTypes
.
DE_ERROR_MAX
Return
NativeTypes
.
ERROR_FILENAME_EXCED_RANGE
Case
NativeTypes
.
DE_ERROR_UNKNOWN
Return
NativeTypes
.
ERROR_PATH_NOT_FOUND
Case
NativeTypes
.
ERRORONDEST
Return
NativeTypes
.
ERROR_GEN_FAILURE
Case
NativeTypes
.
DE_ROOTDIR_ERRORONDEST
Return
NativeTypes
.
ERROR_ACCESS_DENIED
Case
Else
Return
errorCode
End
Select
End
Function
#End If
''' <summary>
''' <summary>
''' Verify that the given argument value is a valid DeleteDirectoryOption. If not, throw InvalidEnumArgumentException.
''' Verify that the given argument value is a valid DeleteDirectoryOption. If not, throw InvalidEnumArgumentException.
''' </summary>
''' </summary>
...
...
src/libraries/Microsoft.VisualBasic.Core/src/Microsoft/VisualBasic/Helpers/NativeTypes.vb
浏览文件 @
48a3dbe5
...
@@ -59,6 +59,39 @@ Namespace Microsoft.VisualBasic.CompilerServices
...
@@ -59,6 +59,39 @@ Namespace Microsoft.VisualBasic.CompilerServices
Friend
Const
ERROR_FILE_EXISTS
As
Integer
=
80
Friend
Const
ERROR_FILE_EXISTS
As
Integer
=
80
Friend
Const
ERROR_OPERATION_ABORTED
As
Integer
=
995
Friend
Const
ERROR_OPERATION_ABORTED
As
Integer
=
995
Friend
Const
ERROR_CANCELLED
As
Integer
=
1223
Friend
Const
ERROR_CANCELLED
As
Integer
=
1223
Friend
Const
ERROR_NOT_SAME_DEVICE
As
Integer
=
17
Friend
Const
ERROR_WRITE_FAULT
As
Integer
=
29
Friend
Const
ERROR_READ_FAULT
As
Integer
=
30
Friend
Const
ERROR_GEN_FAILURE
As
Integer
=
31
Friend
Const
ERROR_BAD_PATHNAME
As
Integer
=
161
Friend
Const
ERROR_FILE_TOO_LARGE
As
Integer
=
223
' Error code from SHFileOperationW function (shellapi.h)
Friend
Const
DE_SAMEFILE
As
Integer
=
113
Friend
Const
DE_MANYSRC1DEST
As
Integer
=
114
Friend
Const
DE_DIFFDIR
As
Integer
=
115
Friend
Const
DE_ROOTDIR
As
Integer
=
116
Friend
Const
DE_OPCANCELLED
As
Integer
=
117
Friend
Const
DE_DESTSUBTREE
As
Integer
=
118
Friend
Const
DE_ACCESSDENIEDSRC
As
Integer
=
120
Friend
Const
DE_PATHTOODEEP
As
Integer
=
121
Friend
Const
DE_MANYDEST
As
Integer
=
122
Friend
Const
DE_INVALIDFILES
As
Integer
=
124
Friend
Const
DE_DESTSAMETREE
As
Integer
=
125
Friend
Const
DE_FLDDESTISFILE
As
Integer
=
126
Friend
Const
DE_FILEDESTISFLD
As
Integer
=
128
Friend
Const
DE_FILENAMETOOLONG
As
Integer
=
129
Friend
Const
DE_DEST_IS_CDROM
As
Integer
=
130
Friend
Const
DE_DEST_IS_DVD
As
Integer
=
131
Friend
Const
DE_DEST_IS_CDRECORD
As
Integer
=
132
Friend
Const
DE_FILE_TOO_LARGE
As
Integer
=
133
Friend
Const
DE_SRC_IS_CDROM
As
Integer
=
134
Friend
Const
DE_SRC_IS_DVD
As
Integer
=
135
Friend
Const
DE_SRC_IS_CDRECORD
As
Integer
=
136
Friend
Const
DE_ERROR_MAX
As
Integer
=
183
Friend
Const
DE_ERROR_UNKNOWN
As
Integer
=
1026
Friend
Const
ERRORONDEST
As
Integer
=
65536
Friend
Const
DE_ROOTDIR_ERRORONDEST
As
Integer
=
65652
''' ;New
''' ;New
''' <summary>
''' <summary>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录