Compartilhar via


Função FwpsCloneStreamData0 (fwpsk.h)

A função FwpsCloneStreamData0 aloca um clone de um fluxo de dados FWPS_STREAM_DATA0 existente.

ObservaçãoFwpsCloneStreamData0 é uma versão específica do FwpsCloneStreamData. Consulte Nomes de Version-Independent WFP e Direcionamento de versões específicas do Windows para obter mais informações.
 

Sintaxe

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

Parâmetros

[in, out] calloutStreamData

Um ponteiro para a estrutura de FWPS_STREAM_DATA0 original que deve ter sua estrutura NET_BUFFER_LIST clonada.

[in, optional] netBufferListPoolHandle

Um identificador de pool NET_BUFFER_LIST obtido de uma chamada anterior para a função NdisAllocateNetBufferListPool . Esse parâmetro é opcional e pode ser NULL.

[in, optional] netBufferPoolHandle

Um identificador de pool de NET_BUFFER que foi obtido de uma chamada anterior para o Função NdisAllocateNetBufferPool . Esse parâmetro é opcional e pode ser NULL.

[in] allocateCloneFlags

Atualmente, não há sinalizadores definidos para essa função. Os drivers de texto explicativo devem definir esse parâmetro como zero.

[out] netBufferListChain

Um ponteiro para um local que recebe um ponteiro para uma cadeia de estruturas NET_BUFFER_LIST que descrevem todos os dados de fluxo clonados.

Retornar valor

A função FwpsCloneStreamData0 retorna um dos seguintes códigos NTSTATUS.

Código de retorno Descrição
STATUS_SUCCESS
A estrutura de FWPS_STREAM_DATA0 do clone foi alocada com êxito.
Outros códigos de status
Ocorreu um erro.

Comentários

Esses dados de fluxo clonados podem ser injetados por um driver de texto explicativo na pilha de rede TCP/IP posteriormente.

A função FwpsCloneStreamData0 clona toda a cadeia de estruturas de NET_BUFFER_LIST contidas no fluxo de dados FWPS_STREAM_DATA0 existente. A função corta dados não utilizados de modo que um driver de texto explicativo possa passar com êxito a cadeia clonada para o Função FwpsStreamInjectAsync0 .

Depois que os dados de fluxo na cadeia de estrutura NET_BUFFER_LIST clone tiverem sido injetados com êxito na pilha de rede, a função de texto explicativo completionFn é chamada para cada estrutura de NET_BUFFER_LIST de clones e um texto explicativo deve chamar FwpsFreeCloneNetBufferList0 para liberar a estrutura de NET_BUFFER_LIST clone.

Um texto explicativo deve chamar a função FwpsDiscardClonedStreamData0 se os dados de fluxo clonados devem ser descartados sem serem reinjetados.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows Vista.
Plataforma de Destino Universal
Cabeçalho fwpsk.h (inclua Fwpsk.h)
Biblioteca Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Confira também

FWPS_STREAM_DATA0

FwpsDiscardClonedStreamData0

FwpsFreeCloneNetBufferList0

FwpsStreamInjectAsync0

NET_BUFFER

NET_BUFFER_LIST