Partilhar via


Função FwpsAllocateNetBufferAndNetBufferList0 (fwpsk.h)

A função FwpsAllocateNetBufferAndNetBufferList0 aloca uma nova estrutura de NET_BUFFER_LIST.

ObservaçãoFwpsAllocateNetBufferAndNetBufferList0 é uma versão específica do FwpsAllocateNetBufferAndNetBufferList. Consulte nomes de Version-Independent WFP e versões específicas de destino do Windows para obter mais informações.
 

Sintaxe

NTSTATUS FwpsAllocateNetBufferAndNetBufferList0(
  [in]           NDIS_HANDLE     poolHandle,
  [in]           USHORT          contextSize,
  [in]           USHORT          contextBackFill,
  [in, optional] MDL             *mdlChain,
  [in]           ULONG           dataOffset,
  [in]           SIZE_T          dataLength,
  [out]          NET_BUFFER_LIST **netBufferList
);

Parâmetros

[in] poolHandle

Um identificador de pool NET_BUFFER_LIST obtido de uma chamada anterior para a função NdisAllocateNetBufferListPool.

[in] contextSize

O tamanho, em bytes, do espaço de dados usado na estrutura de NET_BUFFER_LIST_CONTEXT a ser reservada para o driver de texto explicativo. O valor desse parâmetro deve ser um múltiplo do valor definido por MEMORY_ALLOCATION_ALIGNMENT.

[in] contextBackFill

O tamanho, em bytes, do espaço de dados não utilizado (espaço em backfill) exigido pelo driver de texto explicativo. A função FwpsAllocateNetBufferAndNetBufferList0 adiciona esse valor ao valor especificado no parâmetro ContextSize e aloca espaço adicional. O valor desse parâmetro deve ser um múltiplo do valor definido por MEMORY_ALLOCATION_ALIGNMENT.

[in, optional] mdlChain

Um ponteiro para uma cadeia de MDL usada para inicializar a estrutura de NET_BUFFER pré-alocada. Esse parâmetro é opcional e pode ser NULL.

[in] dataOffset

O deslocamento inicial, em bytes, desde o início do buffer até o início do espaço de dados usado na cadeia de MDL. O espaço de dados antes desse deslocamento é espaço de dados não utilizado. Portanto, esse valor também representa a quantidade inicial de espaço de backfill disponível na cadeia de MDL.

[in] dataLength

O comprimento, em bytes, do espaço de dados usado na cadeia de MDL.

[out] netBufferList

Um ponteiro para uma variável que recebe um ponteiro para a nova estrutura NET_BUFFER_LIST.

Valor de retorno

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

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

Observações

Um driver explicativo chama a função FwpsAllocateNetBufferAndNetBufferList0 para alocar uma nova estrutura de NET_BUFFER_LIST.

Essa função é um wrapper ao redor do função de NdisAllocateNetBufferAndNetBufferList, mas é especializada para uso por funções de injeção de pacote de WFP.

Depois que os dados descritos pela nova estrutura de NET_BUFFER_LIST tiverem sido injetados com êxito na pilha de rede, o driver de texto explicativo libera a nova estrutura de NET_BUFFER_LIST chamando o função FwpsFreeNetBufferList0.

Requisitos

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

Consulte também

FwpsFreeNetBufferList0

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

Funções de injeção de pacote