WindowsRuntimeStorageExtensions.CreateSafeFileHandle 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
확장 중인 IStorage 인스턴스의 안전 파일 핸들에 대한 참조를 만들어 반환합니다.
오버로드
CreateSafeFileHandle(IStorageFolder, String, FileMode) |
현재 스토리지 폴더 인스턴스에 있는 파일의 안전한 파일 핸들을 만듭니다. |
CreateSafeFileHandle(IStorageFile, FileAccess, FileShare, FileOptions) |
현재 스토리지 파일 인스턴스의 안전한 파일 핸들을 만듭니다. |
CreateSafeFileHandle(IStorageFolder, String, FileMode, FileAccess, FileShare, FileOptions) |
현재 스토리지 폴더 인스턴스에 있는 파일의 안전한 파일 핸들을 만듭니다. |
설명
Windows 10 1주년 업데이트를 사용하면 표준 Win32 파일 핸들 IStorageFolderHandleAccess
인 및 IStorageItemHandleAccess
IStorageFile 을 만들 수 있는 새 인터페이스가 에 추가 IStorageFolder 되었습니다. CreateSafeFileHandle
확장 메서드 그룹은 이러한 인터페이스의 메서드를 Create
활용합니다.
API의 주요 이점은 조정된 SafeFileHandle
에 대한 액세스입니다. 이 작업은 AppContainer에서 를 만들 FileStreamIStorageItem 거나 IStorageFolder 를 실행할 때 매우 중요합니다. AppContainer에서 실행하는 경우 애플리케이션에는 매우 제한된 파일 액세스 권한이 있습니다. 그림 및 문서 폴더와 같은 항목에서는 애플리케이션 프로세스 자체에 대부분의 파일에 대한 권한이 없으므로 네이티브 파일 핸들을 통해 RuntimeBroker.exe
프록시해야 합니다. 이 API는 프록시 핸들을 가져옵니다. 사용자 데이터 폴더에 액세스하거나 파일 선택기를 사용하는 경우 항상 이 API를 사용하여 를 만들어야 FileStream합니다. 경로를 사용하면 이러한 경우에 throw AccessViolationException 되는 경우가 많습니다.
CreateSafeFileHandle(IStorageFolder, String, FileMode)
중요
이 API는 CLS 규격이 아닙니다.
현재 스토리지 폴더 인스턴스에 있는 파일의 안전한 파일 핸들을 만듭니다.
public:
[System::Runtime::CompilerServices::Extension]
static Microsoft::Win32::SafeHandles::SafeFileHandle ^ CreateSafeFileHandle(Windows::Storage::IStorageFolder ^ rootDirectory, System::String ^ relativePath, System::IO::FileMode mode);
[System.CLSCompliant(false)]
public static Microsoft.Win32.SafeHandles.SafeFileHandle CreateSafeFileHandle (this Windows.Storage.IStorageFolder rootDirectory, string relativePath, System.IO.FileMode mode);
[<System.CLSCompliant(false)>]
static member CreateSafeFileHandle : Windows.Storage.IStorageFolder * string * System.IO.FileMode -> Microsoft.Win32.SafeHandles.SafeFileHandle
<Extension()>
Public Function CreateSafeFileHandle (rootDirectory As IStorageFolder, relativePath As String, mode As FileMode) As SafeFileHandle
매개 변수
- rootDirectory
- IStorageFolder
현재 스토리지 폴더 인스턴스입니다.
- relativePath
- String
처리하려는 파일의 이름입니다.
- mode
- FileMode
운영 체제에서 파일을 열어야 하는 모드입니다.
반환
작업에 성공하면 안전한 파일 핸들 인스턴스이고, rootDirectory
를 IStorageFolderHandleAccess로 변환하는 작업에서 null
을 반환하면 null
입니다.
- 특성
예외
설명
이 메서드를 호출할 때 지정된 모드가 FileMode.Append이면 액세스 권한으로 FileAccess.Read 파일이 열립니다. 다른 모드의 경우 액세스 권한으로 FileAccess.ReadWrite 파일이 열립니다.
또한 이 메서드는 스트림 공유 액세스 권한 및 FileShare.Read 고급 파일 만들기 옵션을 사용하여 FileOptions.None 파일을 엽니다.
적용 대상
CreateSafeFileHandle(IStorageFile, FileAccess, FileShare, FileOptions)
중요
이 API는 CLS 규격이 아닙니다.
현재 스토리지 파일 인스턴스의 안전한 파일 핸들을 만듭니다.
[System.CLSCompliant(false)]
public static Microsoft.Win32.SafeHandles.SafeFileHandle CreateSafeFileHandle (this Windows.Storage.IStorageFile windowsRuntimeFile, System.IO.FileAccess access = System.IO.FileAccess.ReadWrite, System.IO.FileShare share = System.IO.FileShare.Read, System.IO.FileOptions options = System.IO.FileOptions.None);
[<System.CLSCompliant(false)>]
static member CreateSafeFileHandle : Windows.Storage.IStorageFile * System.IO.FileAccess * System.IO.FileShare * System.IO.FileOptions -> Microsoft.Win32.SafeHandles.SafeFileHandle
<Extension()>
Public Function CreateSafeFileHandle (windowsRuntimeFile As IStorageFile, Optional access As FileAccess = System.IO.FileAccess.ReadWrite, Optional share As FileShare = System.IO.FileShare.Read, Optional options As FileOptions = System.IO.FileOptions.None) As SafeFileHandle
매개 변수
- windowsRuntimeFile
- IStorageFile
스토리지 파일 인스턴스입니다.
- access
- FileAccess
파일을 열 때 사용해야 하는 액세스 유형입니다. 기본값은 ReadWrite입니다.
- share
- FileShare
다른 FileStream 개체가 동일한 파일에 대해 가질 수 있는 스트림 공유 액세스 유형입니다. 기본값은 Read입니다.
- options
- FileOptions
FileStream 개체를 만드는 데 사용하는 고급 옵션입니다. 기본값은 None입니다.
반환
작업에 성공하면 안전한 파일 핸들 인스턴스이고, windowsRuntimeFile
를 IStorageItemHandleAccess로 변환하는 작업에서 null
을 반환하면 null
입니다.
- 특성
예외
windowsRuntimeFile
이(가) null
인 경우
적용 대상
CreateSafeFileHandle(IStorageFolder, String, FileMode, FileAccess, FileShare, FileOptions)
중요
이 API는 CLS 규격이 아닙니다.
현재 스토리지 폴더 인스턴스에 있는 파일의 안전한 파일 핸들을 만듭니다.
[System.CLSCompliant(false)]
public static Microsoft.Win32.SafeHandles.SafeFileHandle CreateSafeFileHandle (this Windows.Storage.IStorageFolder rootDirectory, string relativePath, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share = System.IO.FileShare.Read, System.IO.FileOptions options = System.IO.FileOptions.None);
[<System.CLSCompliant(false)>]
static member CreateSafeFileHandle : Windows.Storage.IStorageFolder * string * System.IO.FileMode * System.IO.FileAccess * System.IO.FileShare * System.IO.FileOptions -> Microsoft.Win32.SafeHandles.SafeFileHandle
<Extension()>
Public Function CreateSafeFileHandle (rootDirectory As IStorageFolder, relativePath As String, mode As FileMode, access As FileAccess, Optional share As FileShare = System.IO.FileShare.Read, Optional options As FileOptions = System.IO.FileOptions.None) As SafeFileHandle
매개 변수
- rootDirectory
- IStorageFolder
현재 스토리지 폴더 인스턴스입니다.
- relativePath
- String
처리하려는 파일의 이름입니다.
- mode
- FileMode
운영 체제에서 파일을 열어야 하는 모드입니다.
- access
- FileAccess
파일을 열 때 사용해야 하는 액세스 유형입니다.
- share
- FileShare
다른 FileStream 개체가 동일한 파일에 대해 가질 수 있는 스트림 공유 액세스 유형입니다. 기본값은 Read입니다.
- options
- FileOptions
FileStream 개체를 만드는 데 사용하는 고급 옵션입니다. 기본값은 None입니다.
반환
작업에 성공하면 안전한 파일 핸들 인스턴스이고, rootDirectory
를 IStorageFolderHandleAccess로 변환하는 작업에서 null
을 반환하면 null
입니다.
- 특성
예외
적용 대상
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기