Freigeben über


StorPortAllocatePool-Funktion (storport.h)

Die StorPortAllocatePool-Routine weist einen Block mit nicht zusammenhängendem, nicht ausgelagertem Poolspeicher zu.

Syntax

ULONG StorPortAllocatePool(
  [in]  PVOID HwDeviceExtension,
  [in]  ULONG NumberOfBytes,
  [in]  ULONG Tag,
  [out] PVOID *BufferPointer
);

Parameter

[in] HwDeviceExtension

Ein Zeiger auf die Hardwaregeräteerweiterung für den Host Bus Adapter (HBA).

[in] NumberOfBytes

Die Größe des zugeordneten Speicherblocks in Bytes.

[in] Tag

Das Pooltag für den zugewiesenen Arbeitsspeicher. Treiber geben das Pooltag als Zeichenfolge mit vier ASCII-Zeichen an, die durch einzelne Anführungszeichen getrennt sind. Die Zeichenfolge wird normalerweise in umgekehrter Reihenfolge angegeben.

[out] BufferPointer

Ein Zeiger auf die Adresse des zugeordneten Speicherblocks oder NULL , wenn dies nicht erfolgreich ist.

Rückgabewert

StorPortAllocatePool gibt einen der folgenden status-Codes zurück:

Rückgabecode Beschreibung
STOR_STATUS_NOT_IMPLEMENTED Diese Funktion ist auf dem aktiven Betriebssystem nicht implementiert.
STOR_STATUS_SUCCESS Gibt an, dass die Routine erfolgreich einen Speicherblock der angeforderten Größe zugewiesen hat.
STOR_STATUS_INVALID_PARAMETER Der Zeiger zum Empfangen der Pufferadresse ist NULL.
STOR_STATUS_INVALID_IRQL Der Aufruf wurde an einem ungültigen IRQL ausgeführt.
STOR_STATUS_INSUFFICIENT_RESOURCES Speicher der angeforderten Größe kann nicht zugewiesen werden.

Hinweise

Ein Miniporttreiber ruft die StorPortAllocatePool-Routine auf, um einen Block nicht zusammenhängenden Arbeitsspeichers aus dem nicht ausgelagerten Pool zuzuweisen. Um den Speicherblock freizugeben, ruft der Miniporttreiber StorPortFreePool auf. Wenn die Anforderung fehlschlägt, wird BufferPointer auf NULL festgelegt.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header storport.h (einschließlich Storport.h)
IRQL <=DISPATCH_LEVEL
DDI-Complianceregeln StorPortAllocatePool(storport), StorPortAllocatePool2(storport), StorPortIrql(storport)

Weitere Informationen

StorPortFreePool