Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Per impostazione predefinita, il linker assegna nomi come ".text" e ".data" alle sezioni di codice e dati di un file di immagine del driver. Quando il driver viene caricato, il gestore di I/O crea queste sezioni senza pagine. Una sezione non paginata è sempre residente in memoria.
Uno sviluppatore di driver ha la possibilità di rendere impaginabili parti designate di un driver in modo che Windows possa spostare queste parti nel file di paging quando non sono in uso. Per rendere pageable un codice o una sezione dati, lo sviluppatore di driver assegna un nome che inizia con "PAGE" alla sezione. Il gestore di I/O controlla i nomi delle sezioni quando carica un driver. Se un nome di sezione inizia con "PAGE", il gestore di I/O rende la sezione paginabile.
Il codice eseguito in IRQL >= DISPATCH_LEVEL deve essere residente in memoria. Ovvero, questo codice deve trovarsi in un segmento non paginabile o in un segmento paginabile bloccato nella memoria. Se il codice in esecuzione in IRQL >= DISPATCH_LEVEL causa un errore di pagina, si verifica un controllo dei bug. I driver possono utilizzare la macro PAGED_CODE per verificare che le funzioni paginabili vengano chiamate solo a IRQL appropriati.
Se una sezione di codice o dati è impaginabile, il driver può bloccare la sezione in memoria chiamando la routine MmLockPagableCodeSection o MmLockPagableDataSection . La sezione rimane bloccata finché il driver chiama la routine MmUnlockPagableImageSection per sbloccarla. Mentre la sezione paginabile è bloccata, si comporta come una sezione non paginata.
Per informazioni su come assegnare nomi a sezioni di codice e dati, vedere MmLockPagableCodeSection e MmLockPagableDataSection.
Questa sezione include gli argomenti seguenti: