Freigeben über


StorPortAllocateMdl-Funktion (storport.h)

Die StorPortAllocateMdl-Routine ordnet eine MDL zu, um den angegebenen nicht ausgelagerten 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 Host bus adapter (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 zugeordneten MDL.

Rückgabewert

StorPortAllocateMdl 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 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 erfolgte an einer ungültigen IRQL.
STOR_STATUS_INSUFFICIENT_RESOURCES
MDL kann nicht zugeordnet werden, um den angegebenen Puffer zu beschreiben.

Hinweise

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

Anforderungen

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