Использование блокировки страниц в памяти без участия администратора в Windows Vista и 2008 Server

StackOverflow https://stackoverflow.com/questions/75614

  •  09-06-2019
  •  | 
  •  

Вопрос

Следующий вопрос отвечает на вопрос, как получить большие страницы памяти в Windows :
"как мне запустить свое приложение с большими страницами в Windows".

Проблема, которую я пытаюсь решить, заключается в том, как мне настроить ее на Vista и 2008 Server.

Обычно вы просто разрешаете определенному пользователю блокировать страницы в памяти, и все готово.Однако в Vista и 2008 это работает только в том случае, если вы используете учетную запись администратора.Это не помогает, если пользователь на самом деле является частью группы Администраторов.Все остальные пользователи всегда получают код ошибки 1300, указывающий на отсутствие некоторых прав.

У кого-нибудь есть подсказки относительно того, что еще нужно настроить?

Спасибо, Стаффан

Это было полезно?

Решение

В Vista и Windows 2008 вас кусает UAC.Пользователи из группы администраторов имеют токен с ограниченным доступом, который не содержит всех их привилегий.Запрос на повышение прав доступа используется для включения дополнительных привилегий.

Я предполагаю, что привилегия "блокировать страницы в памяти" является одной из дополнительных.

Реальная учетная запись "Администратора" не подпадает под действие UAC.

Вам необходимо запустить вашу программу с повышенными правами, что означает запуск ее из командной строки с повышенными правами или настройку с помощью манифеста, в котором указано "requireAdministrator".

Другие советы

http://support.microsoft.com/default.aspx?scid=kb ;RU-США;918483

Просмотр прав пользователя, необходимых для закрепления страниц

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top