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 |