Partager via


StorPortAllocateMdl, fonction (storport.h)

La routine StorPortAllocateMdl alloue une MDL pour décrire la mémoire du pool non paginée donnée.

Syntaxe

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

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension de périphérique matériel pour l’adaptateur de bus hôte (HBA).

[in] BufferPointer

Pointeur vers l’adresse virtuelle de base de la mémoire tampon que la MDL doit décrire.

[in] NumberOfBytes

Ce paramètre spécifie la longueur, en octets, de la mémoire tampon que la MDL doit décrire.

[out] Mdl

Pointeur pour recevoir le MDL alloué.

Valeur retournée

StorPortAllocateMdl retourne l’un des codes status suivants :

Code de retour Description
STOR_STATUS_NOT_IMPLEMENTED
Cette fonction n’est pas implémentée sur le système d’exploitation actif.
STOR_STATUS_SUCCESS
Indique que la routine a correctement alloué la MDL.
STOR_STATUS_INVALID_PARAMETER
Le pointeur pour recevoir la MDL est NULL.

Le pointeur vers la mémoire tampon est NULL.

STOR_STATUS_INVALID_IRQL
L’appel a été effectué à un IRQL non valide.
STOR_STATUS_INSUFFICIENT_RESOURCES
Impossible d’allouer MDL pour décrire la mémoire tampon donnée.

Remarques

Un pilote miniport appelle la routine StorPortAllocateMdl pour allouer une MDL afin de décrire un bloc de mémoire du pool non paginé. Pour libérer la MDL, le pilote miniport appelle la routine StorPortFreeMdl .

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête storport.h (inclure Storport.h)
IRQL <=DISPATCH_LEVEL
Règles de conformité DDI StorPortIrql(storport)