MmMapLockedPages, fonction (wdm.h)
La routine MmMapLockedPages est obsolète pour Windows 2000 et versions ultérieures de Windows et pour Windows Me. Il est pris en charge uniquement pour les pilotes WDM qui doivent s’exécuter sur Windows 98. Sinon, utilisez MmMapLockedPagesSpecifyCache.
La routine MmMapLockedPages mappe les pages physiques décrites par un MDL donné.
PVOID MmMapLockedPages(
[in] PMDL MemoryDescriptorList,
[in] __drv_strictType(KPROCESSOR_MODE / enum _MODE,__drv_typeConst)KPROCESSOR_MODE AccessMode
);
[in] MemoryDescriptorList
Pointeur vers un MDL mis à jour par MmProbeAndLockPages.
[in] AccessMode
Spécifie le mode d’accès dans lequel mapper le MDL, KernelMode ou UserMode. Presque tous les pilotes doivent utiliser KernelMode.
MmMapLockedPages retourne l’adresse de départ des pages mappées. (Pour les systèmes d’exploitation basés sur NT avant Windows NT 4.0 Service Pack 4 (SP4), MmMapLockedPages retourne l’adresse de début de la première page des pages mappées.)
Utilisez mmUnmapLockedPages pour annuler le mappage des pages physiques mappées par MmMapLockedPages.
Si AccessMode est KernelMode et MmMapLockedPages ne peut pas mapper les pages spécifiées, le système émet une vérification de bogue. (Pour cette raison, les pilotes doivent utiliser MmMapLockedPagesSpecifyCache lorsqu’ils sont disponibles ; cette routine retourne NULL en cas d’échec, plutôt que de provoquer une vérification de bogue.) Si AccessMode est UserMode et que les pages spécifiées ne peuvent pas être mappées, la routine déclenche une exception. Les appelants qui spécifient UserMode doivent encapsuler l’appel à MmMapLockedPages dans un bloc essayer/sauf. Pour plus d’informations, consultez Gestion des exceptions.
Les appelants de mmMapLockedPages doivent être en cours d’exécution à l'<IRQL = DISPATCH_LEVEL si AccessMode est KernelMode. Dans le cas contraire, l’appelant doit s’exécuter à l'<IRQL = APC_LEVEL.