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 estruturas 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 do pool de estruturas 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) que o chamador requer. 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.

Retornar valor

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.

Comentários

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

ObserveNET_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 de 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 NET_BUFFER_LIST tiver sido alocado chamando o A função NdisAllocateNetBufferListPool com o membro fAllocateNetBuffer 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 NET_BUFFER_LIST.

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

Confira também

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

NdisFreeNetBufferList