Funzione MmUnlockPagableImageSection (wdm.h)
La routine MmUnlockPagableImageSection rilascia una sezione dei dati del driver o del driver, in precedenza bloccata nello spazio di sistema con MmLockPagableCodeSection, MmLockPagableDataSection o MmLockPagableSectionByHandle, in modo che la sezione possa essere ripubblicata.
Sintassi
void MmUnlockPagableImageSection(
[in] PVOID ImageSectionHandle
);
Parametri
[in] ImageSectionHandle
Specifica l'handle restituito da una chiamata a MmLockPagableCodeSection o MmLockPagableDataSection.
Valore restituito
nessuno
Osservazioni
L'handle per la sezione pageable di un driver non deve essere rilasciato se il driver dispone di un irP in sospeso nelle code del dispositivo o nelle code interne. Una chiamata a MmUnlockPagableImageSection ripristina la paginabilità dell'intera sezione quando non sono presenti più riferimenti all'handle per tale sezione.
Gestione memoria gestisce il conteggio dei riferimenti sull'handle in una sezione. Una sezione paginabile è disponibile solo per la pagina quando il conteggio dei riferimenti è zero. Ogni richiesta di blocco incrementa il conteggio; ogni richiesta di sblocco decrementa il conteggio. Un driver deve sbloccare una sezione quante volte blocca una sezione per rendere disponibile la sezione da visualizzare.
Un handle è sempre valido, indipendentemente dal conteggio. Se il conteggio su un handle è zero e viene effettuata una chiamata a MmLockPagableSectionByHandle, il conteggio viene impostato su uno e, se la sezione è stata impaginata, verrà visualizzata la pagina.
Nella maggior parte dei casi, MmUnlockPagableImageSection viene chiamato prima della routine di scaricamento di un driver. È probabile che un driver con una sezione impaginabile abbia la routine DispatchClose e/o DispatchShutdown chiamata MmUnlockPagableImageSection prima che venga chiamata la routine Di caricamento . Tuttavia, è necessario prestare attenzione a driver scaricabili per rilasciare qualsiasi sezione impaginabile prima che il driver stesso venga scaricato dal sistema.
Per altre informazioni sul paging di codice e dati, vedere Creazione di driver paginabili.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 2000. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
Regole di conformità DDI | HwStorPortProhibitedDDDIs(storport), IrqlMmApcLte(wdm) |