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.
È possibile rendere visualizzabili tutti i driver o parte del driver. Il codice del driver di paging può ridurre le dimensioni dell'immagine caricata del driver, liberando così spazio di sistema per altri usi. È più pratico per i driver di dispositivi usati sporadicamente, ad esempio modem e CD-ROM, o per parti di driver che vengono raramente chiamate.
Il codice del driver che esegue una delle operazioni seguenti deve essere residente in memoria. Cioè, questo codice deve trovarsi in una sezione non paginata o in una sezione paginata bloccata in memoria quando il codice viene eseguito.
Viene eseguito al livello IRQL = DISPATCH_LEVEL o superiore.
Acquisisce i blocchi di rotazione.
Chiama una delle routine di supporto dell'oggetto del kernel, ad esempio KeReleaseMutex o KeReleaseSemaphore, in cui il parametro Wait è impostato su TRUE. Se il kernel viene chiamato con Wait impostato su TRUE, la chiamata restituisce con IRQL a DISPATCH_LEVEL.
Il codice del driver deve essere in esecuzione in IRQL < DISPATCH_LEVEL quando il codice esegue qualsiasi operazione che potrebbe causare un errore di pagina. Il codice può causare un errore di pagina se esegue una delle operazioni seguenti:
Accede al pool di pagine che non è bloccato nella memoria.
Chiama una routine paginabile.
Accede ai buffer utente sbloccati nel contesto del thread utente.
In genere, si dovrebbe rendere una sezione suddivisa in pagine se la quantità totale di tutto il codice suddiviso in pagine (o i dati) è di almeno 4 kilobyte (KB). Quando possibile, è consigliabile isolare il codice (o i dati) puramente paginabili in una sezione separata dal codice (o dai dati) che a volte può essere paginabile, ma deve talvolta essere bloccato. Ad esempio, la combinazione di codice puramente paginabile e codice bloccato a richiesta comporta il blocco di più spazio di sistema per la sezione combinata di quanto sia necessario. Tuttavia, se un driver ha meno di 4 KB di codice (o dati) potenzialmente paginabili, è possibile combinare tale codice (o dati) con codice (o dati) bloccati su richiesta in una sezione, risparmiando spazio di sistema.