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