Freigeben über


StorPortAllocateContiguousMemorySpecifyCacheNode-Funktion (storport.h)

Die StorPortAllocateContiguousMemorySpecifyCacheNode Routine weist einen Bereich physisch zusammenhängender nicht zwischengespeicherter, nichtpageierter Speicher zu.

Syntax

ULONG StorPortAllocateContiguousMemorySpecifyCacheNode(
  [in]           PVOID               HwDeviceExtension,
  [in]           SIZE_T              NumberOfBytes,
  [in]           PHYSICAL_ADDRESS    LowestAcceptableAddress,
  [in]           PHYSICAL_ADDRESS    HighestAcceptableAddress,
  [in, optional] PHYSICAL_ADDRESS    BoundaryAddressMultiple,
  [in]           MEMORY_CACHING_TYPE CacheType,
  [in]           NODE_REQUIREMENT    PreferredNode,
  [out]          PVOID               *BufferPointer
);

Parameter

[in] HwDeviceExtension

Ein Zeiger auf die Hardwaregeräteerweiterung für den Hostbusadapter (HBA).

[in] NumberOfBytes

Die Anzahl der zuzuordnenden Bytes.

[in] LowestAcceptableAddress

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

[in] HighestAcceptableAddress

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

[in, optional] BoundaryAddressMultiple

Die physische Adresse, die von dieser Zuordnung nicht überschritten werden darf.

[in] CacheType

Der gewünschte Cachetyp für die Zuordnung.

[in] PreferredNode

Der bevorzugte Knoten, aus dem die Zuordnung erfolgen soll, wenn Seiten auf diesem Knoten verfügbar sind.

[out] BufferPointer

Die Variable, die die Startadresse des zugewiesenen Speicherblocks empfängt. Wenn diese Variable null ist, wurde beim Zurückgeben dieser Routine kein zusammenhängender Bereich gefunden, um die Anforderung zu erfüllen. Wenn diese Variable nicht NULL-ist, enthält sie einen Zeiger (z. B. eine virtuelle Adresse im nicht seitengebundenen Teil des Systems) auf den zugeordneten physischen zusammenhängenden Speicher.

Rückgabewert

Die StorPortAllocateContiguousMemorySpecifyCacheNode Routine gibt einen der folgenden Statuscodes zurück:

Rückgabecode Beschreibung
STOR_STATUS_NOT_IMPLEMENTED
Diese Funktion ist nicht auf dem aktiven Betriebssystem implementiert.
STOR_STATUS_SUCCESS
Der Vorgang war erfolgreich.
STOR_STATUS_INSUFFICIENT_RESOURCES
Der Vorgang konnte den angeforderten Speicher aufgrund unzureichender Ressourcen nicht zuordnen.

Bemerkungen

Wenn die Anforderung fehlschlägt, wird BufferPointer- auf NULL-festgelegt.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows 7.
Zielplattform- Universal
Header- storport.h (include Storport.h)
IRQL- <=DISPATCH_LEVEL
DDI-Complianceregeln StorPortIrql(storport)