File.OpenHandle 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用指定的路径、创建模式、读/写和共享权限、其他 SafeFileHandles 对同一文件、其他文件选项和分配大小的访问权限初始化 类的新实例 SafeFileHandle 。
public static Microsoft.Win32.SafeHandles.SafeFileHandle OpenHandle (string path, System.IO.FileMode mode = System.IO.FileMode.Open, System.IO.FileAccess access = System.IO.FileAccess.Read, System.IO.FileShare share = System.IO.FileShare.Read, System.IO.FileOptions options = System.IO.FileOptions.None, long preallocationSize = 0);
static member OpenHandle : string * System.IO.FileMode * System.IO.FileAccess * System.IO.FileShare * System.IO.FileOptions * int64 -> Microsoft.Win32.SafeHandles.SafeFileHandle
Public Shared Function OpenHandle (path As String, Optional mode As FileMode = System.IO.FileMode.Open, Optional access As FileAccess = System.IO.FileAccess.Read, Optional share As FileShare = System.IO.FileShare.Read, Optional options As FileOptions = System.IO.FileOptions.None, Optional preallocationSize As Long = 0) As SafeFileHandle
参数
- path
- String
当前 SafeFileHandle 实例将封装的文件的相对路径或绝对路径。
- access
- FileAccess
枚举值的按位组合,用于确定如何访问文件。 默认值为 Read
- options
- FileOptions
描述要使用的可选 SafeFileHandle 参数的 对象。
- preallocationSize
- Int64
文件的初始分配大小(以字节为单位)。 正值仅在创建、覆盖或替换常规文件时有效。 不允许使用负值。 在其他情况下, (包括默认 0 值) ,则忽略它。
返回
一个 SafeFileHandle 实例。
例外
path
为 null
。
path
是一个空字符串 (""),仅包含空格,或者包含一个或多个无效字符。
- 或 - path
指 NTFS 环境中的非文件设备,如 CON:
、 COM1:
、 LPT1:
等。
path
指非 NTFS 环境中的非文件设备,如 CON:
、COM1:
LPT1:
、 等。
preallocationSize
为负数。
-或 - mode
、 access
或 share
包含无效值。
I/O 错误,例如在 path
指定的文件已存在时指定 CreateNew,会发生此错误。
- 或 - 提供时 preallocationSize
磁盘已满 (,并且 path
指向常规文件) 。
- 或 - 提供path
文件时文件太大,preallocationSize
(指向常规文件) 。
调用方没有所要求的权限。
指定的路径无效,例如位于未映射的驱动器上。
对于指定的 path
,操作系统不允许所请求的 access
。例如当 access
是 Write 或 ReadWrite,并将文件或目录设置为只读访问时会出现此情况。
为 指定 options
-或 - Encrypted ,但当前平台上不支持文件加密。
指定的路径和/或文件名超过了系统定义的最大长度。