Не получается назначить права на файл. Прошу помощи!!!:
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 Область данных, переданная системному вызову, слишком мала.
И в итоге не работает ничего. Права не назначены... Что это значит? Что необходимо сделать? Как? Помогите!
Проверять результат 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);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я сам осваивать джава стал недавно, так что прошу простить за может тупой или неправильный вопросЯ хочу, чтоб после того, как рандомайзер...