Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ve výchozím nastavení linker přiřadí názvy, například ".text" a ".data," k oddílům kódu a dat obrazového souboru ovladače. Když je ovladač načten, správce vstupně-výstupních operací činí tyto sekce neswapovatelné. Oddíl, který není na stránce, je vždy rezidentní v paměti.
Vývojář ovladačů má možnost vytvořit určené části ovladače stránkovatelné, aby systém Windows mohl tyto části přesunout do stránkovacího souboru, pokud se nepoužívají. Aby byl kód nebo datový oddíl stránkovatelný, vývojář ovladače přiřadí oddílu název, který začíná na "PAGE". Správce vstupně-výstupních operací kontroluje názvy oddílů, když načte ovladač. Pokud název oddílu začíná na "PAGE", vstupně-výstupní správce udělá tento oddíl stránkovatelným.
Kód, který běží v IRQL >= DISPATCH_LEVEL musí být rezidentní v paměti. To znamená, že tento kód musí být buď v nestránkovém segmentu, nebo v stránkovatelném segmentu, který je uzamčený v paměti. Pokud kód spuštěný v IRQL >= DISPATCH_LEVEL způsobí chybu stránky, dojde ke kontrole chyb. Ovladače mohou použít makro PAGED_CODE k ověření, že stránkovatelné funkce jsou volány pouze na příslušných úrovních IRQL.
Pokud je kód nebo datový oddíl stránkovatelný, ovladač může uzamknout oddíl v paměti voláním rutiny MmLockPagableCodeSection nebo MmLockPagableDataSection. Oddíl zůstane uzamčen, dokud ovladač nevolá rutinu MmUnlockPagableImageSection k odemknutí. I když je stránkovatelný oddíl uzamčený, chová se stejně jako nestránkovaný oddíl.
Informace o přiřazování názvů k oddílům kódu a dat naleznete v tématu MmLockPagableCodeSection a MmLockPagableDataSection.
Tato část obsahuje následující témata: