Как получить пользовательский режим общей виртуальной памяти?

Запрашиваемая Win 7/Win 10 (BIOS/EFI). Я исследовал это и не смог найти способ, вот история:

В программе, которую я использую bcdedit /set IncreaseUserVa 3872 чтобы установить виртуальное адресное пространство в режиме пользователя 3872MB, затем я перезагружаюсь.

Для модульного теста мне нужно проверить, что изменение прошло с использованием C#. После долгих исследований я попробовал следующие методы:

  • Это похожее решение здесь. Я получаю исключение: System.AccessViolationException HResult=0x80004003 Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Я использую VS в качестве администратора в учетной записи администратора.
  • С помощью Process.GetCurrentProcess().X(есть несколько свойств памяти), но они не для всей системы.
  • Файл BCD reg в [systemdrive]:/boot содержит эти данные. В Regedit HKLM/BCD000000 я не могу найти в Интернете нигде, на какой рег ключ посмотреть
  • Импортируя Microsoft.VisualBasic и используя класс ComputerInfo, этот был многообещающим, но я установил 3872 МБ (3,78 ГБ) и возвращался как ~3 ГБ

Кто-нибудь может помочь? или найти правильный ключ reg в BCD000000 или по-другому?

1 ответ

Решение

Догадаться.

ComputerInfo myCompInfo = new ComputerInfo(); myCompInfo.TotalVirtualMemory();

BCDEdit не позволяет устанавливать виртуальное адресное пространство более 3 ГБ.

Другие вопросы по тегам