Compartilhar via


Função NdisAllocateNetBufferList (ndis/nblapi.h)

Chame a função NdisAllocateNetBufferList para alocar e inicializar uma estrutura NET_BUFFER_LIST de um pool de estrutura NET_BUFFER_LIST.

Sintaxe

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateNetBufferList(
  [in] NDIS_HANDLE PoolHandle,
  [in] USHORT      ContextSize,
  [in] USHORT      ContextBackFill
);

Parâmetros

[in] PoolHandle

Um identificador de pool de estrutura NET_BUFFER_LIST que foi retornado anteriormente de uma chamada para NdisAllocateNetBufferListPool .

[in] ContextSize

A quantidade de espaço de dados usado na estrutura NET_BUFFER_LIST_CONTEXT a ser reservada para o chamador. O ContextSize deve ser um múltiplo do valor definido por MEMORY_ALLOCATION_ALIGNMENT.

[in] ContextBackFill

A quantidade de espaço de dados não utilizado (espaço de preenchimento invertido) exigido pelo chamador. O NDIS adiciona esse valor ao ContextSize e aloca espaço adicional. O ContextBackFill deve ser um múltiplo do valor definido por MEMORY_ALLOCATION_ALIGNMENT.

Valor de retorno

NdisAllocateNetBufferList retorna um ponteiro para a estrutura de NET_BUFFER_LIST alocada. Se a alocação não tiver sido bem-sucedida, esse ponteiro será NULL.

Observações

Você pode chamar o NdisAllocateNetBufferList ou função NdisAllocateNetBufferAndNetBufferList para alocar uma estrutura de NET_BUFFER_LIST de um pool.

ObservaçãoNET_BUFFER e estruturas de NET_BUFFER_LIST devem ser alocadas de um pool de buffers NDIS. Um driver não deve alocar e inicializar uma estrutura NET_BUFFER_LIST ou NET_BUFFER de seu pool de memória privada ou da pilha.
 
Se você chamar NdisAllocateNetBufferList e o pool de estrutura de NET_BUFFER_LIST foi alocado chamando o função NdisAllocateNetBufferListPool com o fAllocateNetBuffer membro da estrutura NET_BUFFER_LIST_POOL_PARAMETERS definida como TRUE, o NDIS aloca um NET_BUFFER_LIST, NET_BUFFER, MDL e dados.

Chame a função NdisFreeNetBufferList para liberar uma estrutura de NET_BUFFER_LIST.

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), NdisAllocateNetBufferList2(ndis), NdisAllocateNetBufferList2_InitFail(ndis)

Consulte também

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

NdisFreeNetBufferList