MmAllocateContiguousMemoryEx-Funktion (wdm.h)

Die MmAllocateContiguousMemoryEx-Funktion weist einen Bereich des physisch zusammenhängenden nicht seitenbezogenen Arbeitsspeichers 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

Stellt bei der Eingabe die Anzahl der Zuteilungsbytes bereit. Bei erfolgreicher Rückgabe erhält der zugewiesene Betrag.

[in] LowestAcceptableAddress

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

[in] HighestAcceptableAddress

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

[in] BoundaryAddressMultiple

Stellt die physische Adresse aus, die mehrere dieser Zuordnung zugewiesen werden muss, darf nicht überschritten werden.

[in] PreferredNode

Stellt den bevorzugten Knoten bereit, aus dem die Zuordnung vorgenommen werden soll, wenn Seiten auf diesem Knoten verfügbar sind. MM_ANY_NODE_OK wird verwendet, um keine Knoteneinstellungen zu kennzeichnen.

[in] Protect

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

[in, optional] PartitionObject

Wenn angegeben, stellt ein Partitionsobjekt bereit, um den physischen Speicher zuzuweisen. Falls nicht angegeben, stammt der Speicher aus der Systempartition.

[in] Tag

Stellt das Tag für die Zuordnung zur Verfügung.

[in] Flags

Verschiedene Kennzeichen:

  • MM_ALLOCATE_CONTIGUOUS_MEMORY_FAST_ONLY – Weisen Sie den gewünschten zusammenhängenden Arbeitsspeicher nur zu, wenn sie schnell zufrieden sein kann. Fehler, wenn längere physische Speichersuche und -handel erfolgen müssen, um die Zuordnung zu erfüllen.

[out] BaseAddress

Bei Erfolg erhält die virtuelle Basisadresse des zusammenhängenden Speichers.

Rückgabewert

Gibt einen NTSTATUS-Code zurück.

Bemerkungen

Dieser Speicher muss mit MmFreeContiguousMemory freigegeben werden.

Requirements (Anforderungen)

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

Weitere Informationen

MmFreeContiguousMemory