Поделиться через


File.OpenHandle Метод

Определение

Инициализирует новый экземпляр SafeFileHandle класса с указанным путем, режимом создания, разрешением на чтение и запись и общий доступ, доступом к другому файлу SafeFileHandles, дополнительными параметрами файла и размером выделения.

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.

Исключения

path имеет значение null.

path представляет собой пустую строку (""), содержащую только пробел или хотя бы один недопустимый символ. -или- path ссылается на нефайловое устройство, например CON:, COM1:, LPT1:и т. д., в среде NTFS.

path ссылается на нефайловые устройства, такие как CON:, COM1:, LPT1:и т. д., в среде, отличной от NTFS.

preallocationSize является отрицательным значением. -или- mode, accessили share содержат недопустимое значение.

Не удается найти файл, например когда mode равно Truncate или Open, и файл, заданный параметром path, не существует. Файл должен уже существовать в этих режимах.

Произошла ошибка ввода-вывода, например задание параметра CreateNew, когда файл, заданный параметром path, уже существует. -или- Диск был заполнен (когда preallocationSize был предоставлен и path указывал на обычный файл). -или- Файл был слишком большим (если preallocationSize он был предоставлен и path указывал на обычный файл).

У вызывающего объекта отсутствует необходимое разрешение.

Указан недопустимый путь (например, он ведет на несопоставленный диск).

Запрошенный access не поддерживается операционной системой для указанного path, например когда access равно Write или ReadWrite, а для файла или каталога установлен доступ только для чтения. Параметр -или- Encrypted указан для options, но шифрование файлов не поддерживается на текущей платформе.

Указанный путь, имя файла или оба значения превышают максимальную длину, заданную в системе.

Применяется к