Partager via


Macro NdisAdjustMdlLength (ndis.h)

La fonction NdisAdjustMdlLength modifie la longueur des données associées à un MDL.

Syntaxe

void NdisAdjustMdlLength(
  [in]  _Mdl,
  [in]  _Length
);

Paramètres

[in] _Mdl

Pointeur vers une liste de descripteurs de mémoire (MDL).

[in] _Length

Nombre d’octets de données décrits par le MDL.

Valeur de retour

Aucun

Remarques

La fonction NdisAdjustMdlLength modifie le membre ByteCount d’un MDL alloué en appelant la fonction NdisAllocateMdl.

L’appelant de NdisAdjustMdlLength ne peut passer qu’un descripteur MDL alloué par l’appelant. Il ne peut pas passer un descripteur MDL alloué à un autre pilote.

Par exemple, le pilote d’une carte réseau DMA maître bus appelle NdisAdjustMdlLength avec des descripteurs MDL qu’il a alloués pour spécifier les DLL de réception dans son bloc de mémoire partagée. Avant qu’un tel pilote indique les données reçues, il appelle NdisAdjustMdlLength pour faire en sorte que le descripteur MDL qu’il inclue dans l’indication de réception corresponde à la taille des données reçues s’il est inférieur à la taille de la mémoire tampon de réception de la carte réseau.

La longueur passée à NdisAdjustMdlLength ne peut pas être supérieure à la longueur passée à NdisAllocateMdl lorsque le descripteur MDL a été alloué.

L’appelant de NdisAdjustMdlLength doit restaurer la longueur à sa valeur d’origine avant de libérer le descripteur MDL avec NdisFreeMdl.

Les appelants de NdisAdjustMdlLength peuvent s’exécuter à n’importe quel runtime IRQL, mais généralement à IRQL <= DISPATCH_LEVEL.

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge dans NDIS 6.0 et versions ultérieures.
plateforme cible Bureau
d’en-tête ndis.h (include Ndis.h)
IRQL N’importe quel niveau (voir section Remarques)

Voir aussi

NdisAllocateMdl

NdisFreeMdl