Не получается назначить права на файл

157
22 июля 2019, 11:20

Не получается назначить права на файл. Прошу помощи!!!:

FileInfo ^ info3 = gcnew FileInfo("D:\\CountIn.txt");
FileSecurity^ fSec = info3->GetAccessControl();
GetLastError();
fSec->AddAccessRule(gcnew FileSystemAccessRule("\\Admin-PC\User", 
FileSystemRights::ReadData, AccessControlType::Allow));
info3->SetAccessControl("D:\\CountIn.txt", fSec);

GetLastError() возвращает ошибку 122:

ERROR_INSUFFICIENT_BUFFER Область данных, переданная системному вызову, слишком мала.

И в итоге не работает ничего. Права не назначены... Что это значит? Что необходимо сделать? Как? Помогите!

Answer 1

Проверять результат GetLastError из-под .NET бессмысленно, если вы сами не вызываете функции из WinAPI. Какая именно функция и почему установила этот код ошибки, сказать невозможно.

Ошибка же в вашем коде в том, что неправильно задано имя пользователя. Оно задается в формате DOMAIN\\account (где DOMAIN может быть и именем компьютера, для локальных учетных записей). Символы \\ в начале лишние, но второй символ \ при записи строковой константы в С++ должен быть повторен два раза. Вот итоговый рабочий код:

FileInfo ^ info3 = gcnew FileInfo("D:\\CountIn.txt");
FileSecurity^ fSec = info3->GetAccessControl();
fSec->AddAccessRule(gcnew FileSystemAccessRule("Admin-PC\\User", 
     FileSystemRights::ReadData, AccessControlType::Allow));
info3->SetAccessControl(fSec);
READ ALSO
нужна помощь с кодом типа Random на java

нужна помощь с кодом типа Random на java

Я сам осваивать джава стал недавно, так что прошу простить за может тупой или неправильный вопросЯ хочу, чтоб после того, как рандомайзер...

177
Метод print() класса PrintStream

Метод print() класса PrintStream

Дорогие камрады! :)

146
Объект события в java

Объект события в java

Для чего нужен объект события?(аргумент реализуемого метода интерфейса)

151
Подключение Google Maps Java и Directions Api

Подключение Google Maps Java и Directions Api

Доброй ночиИмеется проект на Spring Boot

152