Привилегии для файловых операций
От: Kingofastellarwar Украина  
Дата: 20.12.16 19:09
Оценка:
Нужно иметь права чтобы делать энумерацию папок и файлов на всех разделах, а так читать файлы и инфу о них

оказалось что по умолчанию лазить де попало не разрешено, поэтому нашел код который запрашивает SE_BACKUP_NAME

    HANDLE hAccessToken = NULL;
        LUID luidPrivilege;
        DWORD dwErrorCode;

        if (!OpenProcessToken (GetCurrentProcess(),
                               TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,
                               &hAccessToken))
            return;

        if (LookupPrivilegeValue (NULL, SE_BACKUP_NAME, &luidPrivilege)) {
            TOKEN_PRIVILEGES tpPrivileges;
            tpPrivileges.PrivilegeCount = 1;
            tpPrivileges.Privileges[0].Luid = luidPrivilege;
            tpPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
            AdjustTokenPrivileges (hAccessToken, FALSE, &tpPrivileges, 
                                   0, NULL, NULL);
            if ((dwErrorCode = GetLastError ()) != ERROR_SUCCESS)
                return;
        }
        else
            return;


а нужно ли SE_BACKUP_NAME, не слишком ли это много, может чтото поменьше хватит?
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.