Freigeben über


MmAllocateMappingAddress-Funktion (wdm.h)

Die MmAllocateMappingAddress Routine reserviert einen Bereich des virtuellen Systemadressraums der angegebenen Größe.

Syntax

PVOID MmAllocateMappingAddress(
  [in] SIZE_T NumberOfBytes,
  [in] ULONG  PoolTag
);

Parameter

[in] NumberOfBytes

Gibt die Anzahl der zu reservierenden Bytes an.

[in] PoolTag

Gibt ein vierstelliges Tag an, mit dem der Puffer identifiziert wird. Verwenden Sie für jeden Zuordnungscodepfad ein eindeutiges PoolTag- Tag. Eine Beschreibung von Pooltags finden Sie unter ExAllocatePoolWithTag.

Rückgabewert

MmAllocateMappingAddress gibt einen Zeiger an den Anfang des reservierten Speicherpuffers zurück, wenn der Vorgang erfolgreich ist; andernfalls wird NULL zurückgegeben.

Bemerkungen

MmAllocateMappingAddress reserviert einen virtuellen Systemadressbereich für den zu verwendenden Anrufer. Es wird kein physischer Speicher für den virtuellen Adressbereich zugewiesen, und auf den virtuellen Speicher kann erst zugegriffen werden, wenn er von der MmMapLockedPagesWithReservedMapping-Routine zugeordnet wird. Der Aufrufer hebt die Zuordnung des reservierten Speicherbereichs auf, indem die MmUnmapReservedMapping-Routine aufgerufen wird. Schließlich kann der Anrufer den reservierten Bereich durch Aufrufen von MmFreeMappingAddress freigeben.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <=APC_LEVEL

Siehe auch

MmAllocateMappingAddressEx

MmFreeMappingAddress

MmMapLockedPagesWithReservedMapping

MmUnmapReservedMapping