Uvolnění virtuální paměti

Funkce VirtualFree dekomituje a uvolní stránky podle následujících pravidel:

  • Uvolní jednu nebo více závazných stránek a změní stav těchto stránek na rezervované. Uvolnění stránek uvolní fyzické úložiště přidružené ke stránkám, což umožní jejich přidělení jakýmkoli procesem. Jakýkoli blok potvrzených stránek může být uvolněn.
  • Uvolní blok jedné nebo více rezervovaných stránek a změní stav stránek na volno. Uvolnění bloku stránek zpřístupňuje rozsah rezervovaných adres přidělených procesem. Rezervované stránky lze uvolnit pouze uvolněním celého bloku, který byl původně rezervován VirtualAlloc.
  • Dekóduje a uvolní blok jedné nebo více potvrzených stránek současně a změní stav stránek na volný. Zadaný blok musí zahrnovat celý blok původně rezervovaný VirtualAlloca všechny stránky musí být aktuálně potvrzeny.

Po uvolnění nebo dekódování bloku paměti na něj už nikdy nebudete moct odkazovat. Všechny informace, které mohly být v této paměti, jsou navždy pryč. Při pokusu o čtení z nebo zápisu na bezplatnou stránku dojde k výjimce porušení přístupu. Pokud potřebujete informace, neodkomitujte ani neuvolňujte paměť obsahující tyto informace.

Chcete-li určit, že data v oblasti paměti již nejsou zajímavá, zavolejte VirtualAlloc s MEM_RESET. Stránky se nebudou číst ani zapisovat do stránkovacího souboru. Blok paměti však můžete znovu použít později.