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 do pool de estrutura NET_BUFFER_LIST que foi retornado anteriormente do Função NdisAllocateNetBufferListPool . O membro fAllocateNetBuffer da estrutura NET_BUFFER_LIST_POOL_PARAMETERS que o chamador passou para NdisAllocateNetBufferListPool deve ter sido definido como TRUE e 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 é adicional ao valor especificado no membro DataOffset da estrutura NET_BUFFER.
[in] DataOffsetDelta
O número de bytes de espaço de dados usados a serem adicionados à estrutura de NET_BUFFER remontada.
[in] DataBackFill
Se a alocação de espaço de dados não utilizado (espaço de 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 a ser alocado.
[in] AllocateReassembleFlags
Sinalizadores NDIS que podem ser combinados com uma operação OR. Defina esse parâmetro como zero. Atualmente, não há sinalizadores definidos para essa função.
Retornar valor
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.
Comentários
NdisAllocateReassembledNetBufferList aloca, inicializa e retorna uma nova estrutura 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 A função NdisFreeReassembledNetBufferList libera uma estrutura de NET_BUFFER_LIST remontada e todas as estruturas de NET_BUFFER associadas e cadeias de MDL.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0 e posterior. |
Plataforma de Destino | Universal |
Cabeçalho | ndis/nblapi.h (inclua ndis.h) |
Biblioteca | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Regras de conformidade da DDI | Irql_NetBuffer_Function(ndis), NdisAllocateReassembledNetBufferList(ndis), NdisAllocateReassembledNetBufferList_InitFail(ndis) |
Confira também
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList