File.OpenHandle 方法

定义

使用指定的路径、创建模式、读/写和共享权限、其他 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 实例将封装的文件的相对路径或绝对路径。

mode
FileMode

用于确定文件的打开或创建方式的枚举值之一。 默认值为 Open

access
FileAccess

枚举值的按位组合,用于确定如何访问文件。 默认值为 Read

share
FileShare

枚举值的按位组合,这些枚举值确定进程共享文件的方式。 默认值为 Read

options
FileOptions

描述要使用的可选 SafeFileHandle 参数的 对象。

preallocationSize
Int64

文件的初始分配大小(以字节为单位)。 正值仅在创建、覆盖或替换常规文件时有效。 不允许使用负值。 在其他情况下, (包括默认 0 值) ,则忽略它。

返回

一个 SafeFileHandle 实例。

例外

pathnull

path 是一个空字符串 (""),仅包含空格,或者包含一个或多个无效字符。 - 或 - path 指 NTFS 环境中的非文件设备,如 CON:COM1:LPT1:等。

path指非 NTFS 环境中的非文件设备,如 CON:COM1:LPT1:、 等。

preallocationSize 为负数。 -或 - modeaccessshare 包含无效值。

找不到该文件。例如,当 modeTruncateOpen,并且 path 指定的文件不存在时会出现这种情况。 该文件必须以这些模式存在。

I/O 错误,例如在 path 指定的文件已存在时指定 CreateNew,会发生此错误。 - 或 - 提供时 preallocationSize 磁盘已满 (,并且 path 指向常规文件) 。 - 或 - 提供path文件时文件太大,preallocationSize (指向常规文件) 。

调用方没有所要求的权限。

指定的路径无效,例如位于未映射的驱动器上。

对于指定的 path,操作系统不允许所请求的 access。例如当 accessWriteReadWrite,并将文件或目录设置为只读访问时会出现此情况。 为 指定 options-或 - Encrypted ,但当前平台上不支持文件加密。

指定的路径和/或文件名超过了系统定义的最大长度。

适用于