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) |