Condividi tramite


Funzione FwpsReferenceNetBufferList0 (fwpsk.h)

La funzione FwpsReferenceNetBufferList0 incrementa il conteggio dei riferimenti per una struttura NET_BUFFER_LIST .

 

Sintassi

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

Parametri

[in, out] netBufferList

Puntatore alla struttura NET_BUFFER_LIST per cui viene incrementato il conteggio dei riferimenti.

[in] intendToModify

Valore che indica se un callout intende modificare l'elenco di buffer di rete clonato, il cui elemento padre punta al parametro netBufferList , dopo la restituzione della funzione classifyFn . Se TRUE, il callout intende modificare l'elenco di buffer net clonato dopo la restituzione di classifyFn (modifica fuori banda). In caso contrario, impostare su FALSE.

Valore restituito

nessuno

Osservazioni

Un driver callout chiama la funzione FwpsReferenceNetBufferList0 per incrementare il conteggio dei riferimenti per una struttura NET_BUFFER_LIST in modo che l'elenco di buffer di rete rimanga valido all'esterno della funzione classifyFn .

Ad esempio, quando un driver di callout esegue il riassemblaggio dei pacchetti, incrementa il conteggio dei riferimenti per ognuna delle strutture NET_BUFFER_LIST ricevute che descrivono i frammenti di pacchetto che costituiscono un singolo pacchetto. Ciò consente alla nuova struttura di NET_BUFFER_LIST che descrive il pacchetto riassemblato di fare riferimento in modo sicuro agli elenchi dei descrittori di memoria a cui puntano le strutture NET_BUFFER_LIST che descrivono i frammenti di pacchetto. Dopo che il driver del callout ha inserito la nuova struttura NET_BUFFER_LIST nello stack di rete, decrementa il conteggio dei riferimenti per ognuna delle strutture NET_BUFFER_LIST che descrivono i frammenti di pacchetto dalla routine di completamento dell'inserimento dei pacchetti.

Un driver di callout deve chiamare la funzione FwpsDereferenceNetBufferList0 per la struttura NET_BUFFER_LIST dopo che il driver del callout ha terminato di fare riferimento alla struttura.

Linee guida per la gestione dei pacchetti a cui si fa riferimento

Un driver di callout non deve contenere pacchetti a cui si fa riferimento per un periodo illimitato. Un pacchetto a cui si fa riferimento può interferire con le operazioni di risparmio energia in un computer inattiva.

L'uso previsto per i pacchetti a cui si fa riferimento nel WFP è quello di ottenere chiarimenti da un'applicazione in modalità utente o da un'altra operazione relativamente veloce. Il driver del callout non deve contenere pacchetti a cui si fa riferimento mentre, ad esempio, attende l'input dell'utente, l'autorizzazione del servizio Web o qualsiasi altra operazione che potrebbe richiedere un periodo di tempo arbitrario.

Se il driver del callout deve attendere un'operazione potenzialmente lunga, deve eseguire una copia completa del pacchetto usando FwpsAllocateNetBufferAndNetBufferList0 e bloccare e assorbire il pacchetto originale.

I driver di callout devono sempre restituire pacchetti mantenuti il più rapidamente possibile.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows Vista.
Piattaforma di destinazione Universale
Intestazione fwpsk.h (include Fwpsk.h)
Libreria Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Vedi anche

FwpsDereferenceNetBufferList0

NET_BUFFER_LIST

classifyFn