Удаление сообщения:
Я написал этот фрагмент кода ранее, к сожалению, он специфичен для CLR / .NET.Тем не менее, поскольку вы заявили, что использовать «API» сложно (да, я это сделал 10 лет назад, а NTFS ACLS - не пикантность), приведенный ниже пример может побудить вас интегрировать немного кода .NET (C ++ /CLI или Interop based?)
Любая конкретная причина не использовать код C #?
AddFileSecurity(fileName, @"DomainName\AccountName",
FileSystemRights.ReadData, AccessControlType.Allow);
RemoveFileSecurity(fileName, @"DomainName\AccountName",
FileSystemRights.ReadData, AccessControlType.Allow);
Со следующими помощниками из MSDN: Как: добавить или удалить доступЗаписи контрольного списка :
public static void AddFileSecurity(string fileName, string account,
FileSystemRights rights, AccessControlType controlType)
{
FileSecurity fSecurity = File.GetAccessControl(fileName);
fSecurity.AddAccessRule(new FileSystemAccessRule(account,
rights, controlType));
File.SetAccessControl(fileName, fSecurity);
}
public static void RemoveFileSecurity(string fileName, string account,
FileSystemRights rights, AccessControlType controlType)
{
FileSecurity fSecurity = File.GetAccessControl(fileName);
fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
rights, controlType));
File.SetAccessControl(fileName, fSecurity);
}
Подробную информацию и комментарии см. В статье