Partager via


Macro NdisAdjustMdlLength (ndis.h)

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

Syntaxe

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

Paramètres

[in] _Mdl

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

[in] _Length

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

Valeur de retour

None

Remarques

La fonction NdisAdjustMdlLength modifie le membre ByteCount d’une MDL qui a été allouée en appelant la fonction NdisAllocateMdl .

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

Par exemple, le pilote d’une carte réseau DMA master 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 n’indique les données reçues, il appelle NdisAdjustMdlLength pour faire en sorte que le descripteur MDL qu’il inclura 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 à NdisAdjustMdlength ne peut pas être supérieure à la longueur passée à NdisAllocateMdl lors de l’allocation du descripteur MDL.

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 sur n’importe quel IRQL, mais s’exécutent généralement à IRQL <= DISPATCH_LEVEL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
En-tête ndis.h (inclure Ndis.h)
IRQL N’importe quel niveau (voir la section Remarques)

Voir aussi

NdisAllocateMdl

NdisFreeMdl