11 if (directoryInfo ==
null)
20 if (directoryInfo ==
null)
29 if (directorySecurity ==
null)
34 directorySecurity.
Persist(fullPath);
61 if (fileSecurity ==
null)
71 if (fileStream ==
null)
85 if (fileStream ==
null)
89 if (fileSecurity ==
null)
98 fileSecurity.
Persist(safeFileHandle, fileStream.
Name);
103 if (directoryInfo ==
null)
107 if (directorySecurity ==
null)
116 if (fileInfo ==
null)
120 if (fileSecurity ==
null)
125 if (mode < FileMode.CreateNew || mode >
FileMode.Append)
155 if (directorySecurity ==
null)
163 if (path.Length == 0)
168 directoryInfo.
Create(directorySecurity);
169 return directoryInfo;
175 if ((rights &
FileSystemRights.ReadData) != 0 || ((uint)rights & 0x80000000u) != 0)
196 global::Interop.Kernel32.SECURITY_ATTRIBUTES sECURITY_ATTRIBUTES =
default(global::Interop.Kernel32.SECURITY_ATTRIBUTES);
197 sECURITY_ATTRIBUTES.nLength = (uint)
sizeof(global::Interop.Kernel32.SECURITY_ATTRIBUTES);
198 sECURITY_ATTRIBUTES.bInheritHandle = (((share &
FileShare.Inheritable) != 0) ? global::Interop.BOOL.TRUE : global::Interop.BOOL.FALSE);
199 sECURITY_ATTRIBUTES.lpSecurityDescriptor = (
IntPtr)ptr;
200 global::Interop.Kernel32.SECURITY_ATTRIBUTES sECURITY_ATTRIBUTES2 = sECURITY_ATTRIBUTES;
203 safeFileHandle = global::Interop.Kernel32.
CreateFile(fullPath, (
int)rights, share, &sECURITY_ATTRIBUTES2, mode, dwFlagsAndAttributes,
IntPtr.
Zero);
207 return safeFileHandle;
static unsafe SafeFileHandle CreateFile(string fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
virtual SafeFileHandle SafeFileHandle
static FileStream Create(this FileInfo fileInfo, FileMode mode, FileSystemRights rights, FileShare share, int bufferSize, FileOptions options, FileSecurity fileSecurity)
static FileSecurity GetAccessControl(this FileInfo fileInfo)
static DirectorySecurity GetAccessControl(this DirectoryInfo directoryInfo)
static void Create(this DirectoryInfo directoryInfo, DirectorySecurity directorySecurity)
static DirectorySecurity GetAccessControl(this DirectoryInfo directoryInfo, AccessControlSections includeSections)
static DirectoryInfo CreateDirectory(this DirectorySecurity directorySecurity, string path)
static void SetAccessControl(this DirectoryInfo directoryInfo, DirectorySecurity directorySecurity)
static unsafe SafeFileHandle CreateFileHandle(string fullPath, FileMode mode, FileSystemRights rights, FileShare share, FileOptions options, FileSecurity security)
static FileSecurity GetAccessControl(this FileStream fileStream)
static FileSecurity GetAccessControl(this FileInfo fileInfo, AccessControlSections includeSections)
static FileAccess GetFileStreamFileAccess(FileSystemRights rights)
static void ValidateFileHandle(SafeFileHandle handle, string fullPath)
static void SetAccessControl(this FileInfo fileInfo, FileSecurity fileSecurity)
static void SetAccessControl(this FileStream fileStream, FileSecurity fileSecurity)
static unsafe void CreateDirectory(string fullPath, byte[] securityDescriptor=null)
static string GetFullPath(string path)
static ? string GetPathRoot(string? path)
static Exception GetExceptionForWin32Error(int errorCode, string path="")
static int GetLastWin32Error()
static string Argument_InvalidFileModeAndFileSystemRightsCombo
static string ArgumentOutOfRange_NeedPosNum
static string ArgumentOutOfRange_Enum
static string Format(string resourceFormat, object p1)
static string Arg_PathEmpty
static string ObjectDisposed_FileClosed
void Persist(string fullPath)
byte[] GetSecurityDescriptorBinaryForm()
static readonly IntPtr Zero