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)

Vedi anche

MmLockPagableCodeSection

MmLockPagableDataSection

MmLockPagableSectionByHandle

MmPageEntireDriver

MmResetDriverPaging