Megosztás a következőn keresztül:


Lapok használata

Az aktuális számítógépen található lap méretének meghatározásához használja a GetSystemInfo függvényt.

A VirtualQuery és VirtualQueryEx függvények egy folyamat címterében megadott címtől kezdődő, egymást követő oldalak régiójáról ad vissza információkat. VirtualQuery a hívási folyamat memóriájáról ad vissza információkat. VirtualQueryEx egy adott folyamat memóriájáról ad vissza információkat, és olyan hibakeresők támogatására szolgál, amelyek információt igényelnek a hibakeresési folyamatról. Az oldalak régióját a megadott cím határolja, lefelé kerekítve a legközelebbi oldalhatárra. Az összes következő oldalon az alábbi közös attribútumokkal rendelkezik:

  • Az összes oldal állapota megegyezik: véglegesített, fenntartott vagy ingyenes.
  • Ha a kezdeti oldal nem szabad, a régió összes lapja ugyanazon kezdeti lefoglalás része, amelyet a VirtualAlloc hívása során foglaltak le.
  • Az összes oldal hozzáférési védelme ugyanaz (azaz PAGE_READONLY, PAGE_READWRITEvagy PAGE_NOACCESS).

A VirtualLock függvény lehetővé teszi, hogy egy folyamat egy vagy több lekötött memóriát zároljon a fizikai memóriába (RAM), megakadályozva, hogy a rendszer felcserélje az oldalakat a lapozófájlra. Segítségével biztosítható, hogy a kritikus adatok lemezhozzáférés nélkül is elérhetők legyenek. Az oldalak memóriabe való zárolása veszélyes, mert korlátozza a rendszer memóriakezelési képességét. A VirtualLock túlzott használata csökkentheti a rendszer teljesítményét azáltal, hogy a végrehajtható kódot áthelyezi a lapozófájlba. A VirtualUnlock függvény feloldja VirtualLockáltal zárolt memóriát.

A VirtualProtect függvény lehetővé teszi, hogy a folyamat a folyamat címterében módosítsa a lekötött lapok hozzáférés-védelmét. Egy folyamat például lefoglalhat olvasási/írási oldalakat a bizalmas adatok tárolásához, majd módosíthatja a hozzáférést olvasásra vagy teljes hozzáférés nélküli állapotra, hogy megvédje őket a véletlen felülírástól. VirtualProtect általában VirtualAllocáltal lefoglalt lapokkal használják, de a többi foglalási függvény által lekötött lapokkal is működik. Azonban VirtualProtect megváltoztatja a teljes oldalak védelmét, és a többi függvény által visszaadott mutatók nem feltétlenül igazodnak az oldalhatárokhoz. A VirtualProtectEx függvény hasonló a VirtualProtectfüggvényhez, kivéve, ha egy adott folyamatban módosítja a memória védelmét. A védelem módosítása hasznos lehet a hibakeresők számára a hibakeresési folyamat memóriájának elérésében.