MmAllocateContiguousMemoryEx-Funktion (wdm.h)

Die MmAllocateContiguousMemoryEx-Funktion ordnet einen Bereich von physisch zusammenhängendem, nicht ausgelagertem Arbeitsspeicher zu und gibt seine virtuelle Adresse zurück.

Syntax

NTSTATUS MmAllocateContiguousMemoryEx(
  [in]           PSIZE_T          NumberOfBytes,
  [in]           PHYSICAL_ADDRESS LowestAcceptableAddress,
  [in]           PHYSICAL_ADDRESS HighestAcceptableAddress,
  [in]           PHYSICAL_ADDRESS BoundaryAddressMultiple,
  [in]           NODE_REQUIREMENT PreferredNode,
  [in]           ULONG            Protect,
  [in, optional] PVOID            PartitionObject,
  [in]           ULONG            Tag,
  [in]           ULONG            Flags,
  [out]          PVOID            *BaseAddress
);

Parameter

[in] NumberOfBytes

Gibt bei der Eingabe die Anzahl der zuzuordnenden Bytes an. Erhält bei erfolgreicher Rückgabe den zugeordneten Betrag.

[in] LowestAcceptableAddress

Gibt die niedrigste physische Adresse an, die für die Zuordnung gültig ist. Wenn das Gerät beispielsweise nur auf physischen Arbeitsspeicher im Bereich von 8M bis 16 MB verweisen kann, wird dieser Wert auf 0x800000 (8MB) festgelegt.

[in] HighestAcceptableAddress

Gibt die höchste physische Adresse an, die für die Zuordnung gültig ist. Wenn das Gerät beispielsweise nur auf physischen Arbeitsspeicher unter 16 MB verweisen kann, wird dieser Wert auf 0xFFFFFF (16MB - 1) festgelegt.

[in] BoundaryAddressMultiple

Gibt die physische Adresse an, die mehrfach von dieser Zuordnung nicht überschritten werden darf.

[in] PreferredNode

Stellt den bevorzugten Knoten bereit, aus dem die Zuordnung erfolgen soll, wenn Seiten auf diesem Knoten verfügbar sind. MM_ANY_NODE_OK wird verwendet, um keine Knotenpräferenz anzugeben.

[in] Protect

Stellt den gewünschten Schutz (einschließlich Cachetyp) für die Zuordnung bereit.

[in, optional] PartitionObject

Wenn angegeben, stellt ein Partitionsobjekt bereit, aus dem der physische Arbeitsspeicher zugeordnet werden soll. Wenn nicht angegeben, stammt der Arbeitsspeicher aus der Systempartition.

[in] Tag

Stellt das Tag für die Zuordnung bereit.

[in] Flags

Verschiedene Flags:

  • MM_ALLOCATE_CONTIGUOUS_MEMORY_FAST_ONLY : Weisen Sie den gewünschten zusammenhängenden Speicher nur zu, wenn er schnell erfüllt werden kann. Tritt ein Fehler auf, wenn längerer physischer Arbeitsspeicher gesucht und gehandelt werden muss, um die Zuordnung zu erfüllen.

[out] BaseAddress

Bei Erfolg empfängt die virtuelle Basisadresse des zusammenhängenden Arbeitsspeichers.

Rückgabewert

Gibt einen NTSTATUS-Code zurück.

Hinweise

Dieser Speicher muss mit MmFreeContiguousMemory freigegeben werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Server) Windows Server 2022
Kopfzeile wdm.h
IRQL <= DISPATCH_LEVEL

Weitere Informationen

MmFreeContiguousMemory