Partager via


Fonction FwpsReferenceNetBufferList0 (fwpsk.h)

La fonction FwpsReferenceNetBufferList0 incrémente le nombre de références pour une structure NET_BUFFER_LIST .

RemarqueFwpsReferenceNetBufferList0 est une version spécifique de FwpsReferenceNetBufferList. Pour plus d’informations , consultez WFP Version-Independent Names and Targeting Specific Versions of Windows .
 

Syntaxe

void FwpsReferenceNetBufferList0(
  [in, out] NET_BUFFER_LIST *netBufferList,
  [in]      BOOLEAN         intendToModify
);

Paramètres

[in, out] netBufferList

Pointeur vers la structure NET_BUFFER_LIST pour laquelle le nombre de références est incrémenté.

[in] intendToModify

Valeur qui indique si une légende a l’intention de modifier la liste des mémoires tampons réseau clonées, dont le parent est pointé par le paramètre netBufferList , une fois la fonction classifyFn retournée. Si la valeur est TRUE, la légende a l’intention de modifier la liste des mémoires tampons nettes clonées après le retour de classifyFn (modification hors bande). Sinon, définissez sur FALSE.

Valeur de retour

None

Remarques

Un pilote de légende appelle la fonction FwpsReferenceNetBufferList0 pour incrémenter le nombre de références pour une structure NET_BUFFER_LIST de sorte que la liste des mémoires tampons réseau reste valide en dehors de la fonction classifyFn .

Par exemple, lorsqu’un pilote de légende effectue un réassemblage de paquets, il incrémente le nombre de références pour chacune des structures NET_BUFFER_LIST reçues qui décrivent les fragments de paquets qui composent un paquet individuel. Cela permet à la nouvelle structure NET_BUFFER_LIST qui décrit le paquet réassembler de référencer en toute sécurité les listes de descripteurs mémoire (MDL) pointées par les structures NET_BUFFER_LIST qui décrivent les fragments de paquets. Une fois que le pilote de légende a injecté la nouvelle structure NET_BUFFER_LIST dans la pile réseau, il décrémente le nombre de références pour chacune des structures NET_BUFFER_LIST qui décrivent les fragments de paquets de sa routine d’achèvement d’injection de paquets.

Un pilote de légende doit appeler la fonction FwpsDereferenceNetBufferList0 pour la structure NET_BUFFER_LIST une fois que le pilote de légende a terminé de référencer la structure.

Instructions pour la gestion des paquets référencés

Un pilote de légende ne doit pas contenir indéfiniment les paquets référencés. Un paquet référencé peut interférer avec les opérations de gestion de l’alimentation sur un ordinateur inactif.

L’utilisation prévue pour les paquets référencés dans PAM est d’obtenir des clarifications à partir d’une application en mode utilisateur ou d’une autre opération relativement rapide. Le pilote de légende ne doit pas contenir les paquets référencés pendant, par exemple, en attente d’une entrée utilisateur, d’une autorisation de service web ou de toute autre opération pouvant prendre un temps arbitraire.

Si le pilote de légende doit attendre une opération potentiellement longue, il doit effectuer une copie approfondie du paquet à l’aide de FwpsAllocateNetBufferAndNetBufferList0 et bloquer et absorber le paquet d’origine.

Les pilotes de légende doivent toujours retourner les paquets conservés aussi rapidement que possible.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows Vista.
Plateforme cible Universal
En-tête fwpsk.h (include Fwpsk.h)
Bibliothèque Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

FwpsDereferenceNetBufferList0

NET_BUFFER_LIST

classifyFn