Freigeben über


StorPortAllocateMdl-Funktion (storport.h)

Die StorPortAllocateMdl Routine weist eine MDL zu, um den angegebenen nicht seitenseitigen Poolspeicher zu beschreiben.

Syntax

ULONG StorPortAllocateMdl(
  [in]  PVOID HwDeviceExtension,
  [in]  PVOID BufferPointer,
  [in]  ULONG NumberOfBytes,
  [out] PVOID *Mdl
);

Parameter

[in] HwDeviceExtension

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

[in] BufferPointer

Ein Zeiger auf die virtuelle Basisadresse des Puffers, den die MDL beschreiben soll.

[in] NumberOfBytes

Dieser Parameter gibt die Länge des Puffers in Bytes an, den die MDL beschreiben soll.

[out] Mdl

Ein Zeiger zum Empfangen der zugewiesenen MDL.

Rückgabewert

StorPortAllocateMdl 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
Gibt an, dass die Routine die MDL erfolgreich zugeordnet hat.
STOR_STATUS_INVALID_PARAMETER
Der Zeiger zum Empfangen der MDL ist NULL-.

Der Zeiger auf den Puffer ist NULL-.

STOR_STATUS_INVALID_IRQL
Der Aufruf wurde an einem ungültigen IRQL ausgeführt.
STOR_STATUS_INSUFFICIENT_RESOURCES
MDL kann nicht zugeordnet werden, um den angegebenen Puffer zu beschreiben.

Bemerkungen

Ein Miniporttreiber ruft die StorPortAllocateMdl- Routine auf, um eine MDL zuzuweisen, um einen Speicherblock aus dem nicht ausgelagerten Pool zu beschreiben. Um die MDL frei zu geben, ruft der Miniporttreiber die StorPortFreeMdl Routine auf.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- storport.h (include Storport.h)
IRQL- <=DISPATCH_LEVEL
DDI-Complianceregeln StorPortIrql(storport)