2019-04-12 14:10:50 +00:00
|
|
|
using System;
|
|
|
|
using System.Security.AccessControl;
|
|
|
|
|
|
|
|
namespace System.IO
|
|
|
|
{
|
|
|
|
public partial class File
|
|
|
|
{
|
2019-05-01 08:33:05 +00:00
|
|
|
public static FileStream Create (string path, int bufferSize, FileOptions options, System.Security.AccessControl.FileSecurity fileSecurity)
|
|
|
|
=> new FileStream(path, FileMode.Create, FileAccess.ReadWrite, FileShare.None, bufferSize, options); // ignore fileSecurity
|
|
|
|
|
2019-04-12 14:10:50 +00:00
|
|
|
public static FileSecurity GetAccessControl (string path)
|
|
|
|
{
|
|
|
|
// AccessControlSections.Audit requires special permissions.
|
|
|
|
return GetAccessControl (path,
|
|
|
|
AccessControlSections.Owner |
|
|
|
|
AccessControlSections.Group |
|
|
|
|
AccessControlSections.Access);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static FileSecurity GetAccessControl (string path, AccessControlSections includeSections)
|
|
|
|
{
|
|
|
|
return new FileSecurity (path, includeSections);
|
|
|
|
}
|
|
|
|
|
|
|
|
public static void SetAccessControl (string path,
|
|
|
|
FileSecurity fileSecurity)
|
|
|
|
{
|
|
|
|
if (null == fileSecurity)
|
|
|
|
throw new ArgumentNullException ("fileSecurity");
|
|
|
|
|
|
|
|
fileSecurity.PersistModifications (path);
|
|
|
|
}
|
2019-05-01 08:33:05 +00:00
|
|
|
}
|
2019-04-12 14:10:50 +00:00
|
|
|
}
|