Função NdisAllocateReassembledNetBufferList (ndis/nblapi.h)
Chame a função NdisAllocateReassembledNetBufferList para remontar uma estrutura de NET_BUFFER_LIST fragmentada.
Sintaxe
NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateReassembledNetBufferList(
NET_BUFFER_LIST *FragmentNetBufferList,
[in, optional] NDIS_HANDLE NetBufferAndNetBufferListPoolHandle,
[in] ULONG StartOffset,
[in] ULONG DataOffsetDelta,
[in] ULONG DataBackFill,
[in] ULONG AllocateReassembleFlags
);
Parâmetros
FragmentNetBufferList
Um ponteiro para a estrutura NET_BUFFER_LIST a ser remontada.
[in, optional] NetBufferAndNetBufferListPoolHandle
Um identificador de pool de estrutura NET_BUFFER_LIST que foi retornado anteriormente do função de NdisAllocateNetBufferListPool. O fAllocateNetBuffer membro da estrutura NET_BUFFER_LIST_POOL_PARAMETERS que o chamador passou para NdisAllocateNetBufferListPool deve ter sido definido como verdadeiroe o membro DataSize definido como zero. Se esse parâmetro for NULL, o NDIS usará um pool interno.
[in] StartOffset
A quantidade de dados a serem ignoradas no início de cada estrutura de NET_BUFFER de origem. Esse valor é além do valor especificado no DataOffset membro da estrutura NET_BUFFER.
[in] DataOffsetDelta
O número de bytes de espaço de dados usado para adicionar na estrutura de NET_BUFFER remontada.
[in] DataBackFill
Se a alocação de espaço de dados não utilizado (espaço em backfill) for necessária, esse parâmetro especificará o número de bytes de espaço de dados não utilizado além de dataOffsetDelta para alocar.
[in] AllocateReassembleFlags
Sinalizadores NDIS que podem ser combinados com uma operação OR. Defina esse parâmetro como zero. No momento, não há nenhum sinalizador definido para essa função.
Valor de retorno
Se a operação de remontagem for bem-sucedida, NdisAllocateReassembledNetBufferList retornará uma estrutura de NET_BUFFER_LIST remontada. Se a operação falhar, ela retornará NULL.
Observações
NdisAllocateReassembledNetBufferList aloca, inicializa e retorna uma nova estrutura de NET_BUFFER_LIST que inclui uma estrutura NET_BUFFER e uma cadeia de MDL. A nova estrutura de NET_BUFFER_LIST descreve os mesmos dados que a estrutura de NET_BUFFER_LIST de origem fragmentada que o driver passou em FragmentedNetBufferList. Depois de ignorar o número de bytes especificado em StartOffset em cada estrutura de NET_BUFFER fragmentada, o NDIS concatena os dados restantes em cada estrutura de NET_BUFFER fragmentada em uma estrutura de NET_BUFFER remontada. Estruturas de NET_BUFFER_LIST remontadas não incluem uma inicial NET_BUFFER_LIST_CONTEXT estrutura.
Chamar o função NdisFreeReassembledNetBufferList para liberar uma estrutura de NET_BUFFER_LIST remontada e todas as estruturas de NET_BUFFER associadas e cadeias de MDL.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.0 e posterior. |
da Plataforma de Destino | Universal |
cabeçalho | ndis/nblapi.h (inclua ndis.h) |
biblioteca | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
regras de conformidade de DDI | Irql_NetBuffer_Function(ndis), NdisAllocateReassembledNetBufferList(ndis), NdisAllocateReassembledNetBufferList_InitFail(ndis) |
Consulte também
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList