Funzione FwpsCloneStreamData0 (fwpsk.h)
La funzione FwpsCloneStreamData0 alloca un clone di un flusso di dati FWPS_STREAM_DATA0 esistente.
Sintassi
NTSTATUS FwpsCloneStreamData0(
[in, out] FWPS_STREAM_DATA0 *calloutStreamData,
[in, optional] NDIS_HANDLE netBufferListPoolHandle,
[in, optional] NDIS_HANDLE netBufferPoolHandle,
[in] ULONG allocateCloneFlags,
[out] NET_BUFFER_LIST **netBufferListChain
);
Parametri
[in, out] calloutStreamData
Puntatore alla struttura FWPS_STREAM_DATA0 originale che deve avere la struttura NET_BUFFER_LIST clonata.
[in, optional] netBufferListPoolHandle
Handle del pool NET_BUFFER_LIST ottenuto da una chiamata precedente alla funzione NdisAllocateNetBufferListPool . Questo parametro è facoltativo e può essere NULL.
[in, optional] netBufferPoolHandle
Handle del pool di NET_BUFFER ottenuto da una chiamata precedente all'oggetto Funzione NdisAllocateNetBufferPool . Questo parametro è facoltativo e può essere NULL.
[in] allocateCloneFlags
Attualmente non sono stati definiti flag per questa funzione. I driver di callout devono impostare questo parametro su zero.
[out] netBufferListChain
Puntatore a una posizione che riceve un puntatore a una catena di strutture NET_BUFFER_LIST che descrivono tutti i dati del flusso clonato.
Valore restituito
La funzione FwpsCloneStreamData0 restituisce uno dei codici NTSTATUS seguenti.
Codice restituito | Descrizione |
---|---|
|
La struttura di FWPS_STREAM_DATA0 clone è stata allocata correttamente. |
|
Si è verificato un errore. |
Commenti
Questi dati del flusso clonato possono essere inseriti da un driver di callout nello stack di rete TCP/IP in un secondo momento.
La funzione FwpsCloneStreamData0 clona l'intera catena di strutture NET_BUFFER_LIST contenute nel flusso di dati FWPS_STREAM_DATA0 esistente. La funzione taglia i dati inutilizzati in modo che un driver di callout possa passare correttamente la catena clonata alla Funzione FwpsStreamInjectAsync0 .
Dopo che i dati del flusso nella catena di strutture clone NET_BUFFER_LIST sono stati inseriti correttamente nello stack di rete, la funzione callout completionFn viene chiamata per ogni struttura di clonazione NET_BUFFER_LIST e un callout deve chiamare FwpsFreeCloneNetBufferList0 per liberare la struttura di clonazione NET_BUFFER_LIST.
Un callout deve chiamare la funzione FwpsDiscardClonedStreamData0 se i dati del flusso clonato devono essere rimossi senza essere reinseriti.
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 |