Partager via


StorPortAllocateMdl, fonction (storport.h)

La routine StorPortAllocateMdl alloue un MDL pour décrire la mémoire de 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 le MDL doit décrire.

[in] NumberOfBytes

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

[out] Mdl

Pointeur pour recevoir le MDL alloué.

Valeur de retour

StorPortAllocateMdl retourne l’un des codes d’état suivants :

Retourner le code 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 alloué le MDL avec succès.
STOR_STATUS_INVALID_PARAMETER
Le pointeur pour recevoir le 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 un MDL pour décrire un bloc de mémoire à partir du pool non paginé. Pour libérer le MDL, le pilote miniport appelle la routine StorPortFreeMdl.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête storport.h (include Storport.h)
IRQL <=DISPATCH_LEVEL
règles de conformité DDI StorPortIrql(storport)