Я пытаюсь настроить переменную для чтения только с помощью VirtualProtect, однако VirtualProtect возвращает 0, а GetLastError() выдает 487, что является попыткой доступа к неверному адресу. изменение myVar = 77 подтверждает отсутствие ошибок VirtualProtect.
int myVar = 42;
LPVOID address = &myVar;
SYSTEM_INFO si;
GetSystemInfo(&si);
SIZE_T pageSize = si.dwPageSize;
DWORD oldprotect;
int result = VirtualProtect(address,pageSize,PAGE_READONLY, &oldprotect);
cout
Подробнее здесь: https://stackoverflow.com/questions/791 ... n-variable