Funzione FwpsQueryPacketChangectionState0 (fwpsk.h)
La funzione FwpsQueryPacketChangectionState0 viene chiamata da un callout per eseguire una query sullo stato di inserimento dei dati del pacchetto.
Sintassi
FWPS_PACKET_INJECTION_STATE FwpsQueryPacketInjectionState0(
[in] HANDLE injectionHandle,
[in] const NET_BUFFER_LIST *netBufferList,
[out, optional] HANDLE *injectionContext
);
Parametri
[in] injectionHandle
Handle injection creato in precedenza da una chiamata all'oggetto Funzione FwpsChangectionHandleCreate0 .
[in] netBufferList
Puntatore a una struttura NET_BUFFER_LIST che descrive i dati del pacchetto classificati. Il pacchetto può provenire dallo stack di rete oppure può essere inserito nello stack di rete da un driver callout WFP.
[out, optional] injectionContext
Handle facoltativo per il contesto di inserimento. Se viene specificato il puntatore e se lo stato di inserimento del pacchetto FWPS_PACKET_INJECTION_STATE associato all'handle di inserimento è FWPS_PACKET_INJECTED_BY_SELF o FWPS_PACKET_PREVIOUSLY_INJECTED_BY_SELF, il contesto di inserimento fornito quando il pacchetto è stato inserito verrà restituito.
Valore restituito
La funzione FwpsQueryPacketChangectionState0 restituisce uno dei valori costanti dell'enumerazione FWPS_PACKET_INJECTION_STATE .
Commenti
Poiché i dati dei pacchetti inseriti possono essere riclassificati rispetto al callout che l'ha inserita, questa funzione consente a un callout di esaminare la cronologia di inserimento dei dati del pacchetto quando necessario, evitando così la necessità di eseguire ispezioni ripetute dei dati dei pacchetti che sono già stati controllati.
Un callout può tenere traccia di altre informazioni specifiche del callout specificando l'handle injectionContext facoltativo in una delle funzioni di inserimento di pacchetti al momento dell'inserimento di pacchetti. Se la funzione FwpsQueryPacketChangectionState0 restituisceFWPS_PACKET_INJECTED_BY_SELF o FWPS_PACKET_PREVIOUSLY_INJECTED_BY_SELF, l'oggetto injectionContext fornito verrà restituito come parametro completionContext della funzione che ha eseguito l'inserimento.
Se il valore restituito è FWPS_PACKET_INJECTED_BY_SELF o FWPS_PACKET_PREVIOUSLY_INJECTED_BY_SELF, l'elenco di buffer di rete a cui punta netBufferList non deve essere ulteriormente modificato o inserito come parte di una procedura di clonazione e inserimento. In questo caso, il callout deve impostare il membro actionType della struttura FWPS_CLASSIFY_OUT0 a cui punta il parametro classifyOut della funzione classifyFn su FWP_ACTION_CONTINUE o FWP_ACTION_PERMIT. In questo modo il pacchetto può passare al callout successivo.
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 |