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 .

예외

pathnull입니다.

path 은 빈 문자열("")이거나, 공백만 포함하거나, 하나 이상의 잘못된 문자를 포함합니다. -또는- path NTFS 환경에서 파일 이외의 디바이스(예: CON:COM1:LPT1:)를 참조합니다.

path는 비 NTFS 환경에서 파일 이외의 디바이스(예: CON:COM1:LPT1:)를 나타냅니다.

preallocationSize 가 음수입니다. -또는- mode또는 accessshare 잘못된 값을 포함합니다.

파일을 찾을 수 없습니다(예: 있는 경우 modeTruncate 또는 Open). 지정된 path 파일이 없습니다. 파일이 이러한 모드에 이미 있어야 합니다.

지정 CreateNew 한 파일이 이미 있는 경우 지정하는 path 것과 같은 I/O 오류가 발생했습니다. -또는- 디스크가 꽉 찼습니다( preallocationSize 제공되고 path 일반 파일을 가리키는 경우). -또는- 파일이 너무 큽니다( preallocationSize 제공되고 path 일반 파일을 가리키는 경우).

호출자에게 필요한 권한이 없습니다.

지정된 경로가 잘못되었습니다(예: 매핑되지 않은 드라이브에 있는 경우).

요청은 access 운영 체제에서 지정된 path경우 또는 파일 또는 access 디렉터리가 읽기 전용 액세스용으로 설정된 경우 WriteReadWrite 와 같이 허용되지 않습니다. -또는- Encrypted 에 대해 options지정되었지만 파일 암호화는 현재 플랫폼에서 지원되지 않습니다.

지정된 경로, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다.

적용 대상