Función NdisAllocateNetBufferList (ndis/nblapi.h)

Llame a la función NdisAllocateNetBufferList para asignar e inicializar una estructura de NET_BUFFER_LIST desde un grupo de estructuras de NET_BUFFER_LIST.

Sintaxis

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

Parámetros

[in] PoolHandle

Identificador de grupo de estructura de NET_BUFFER_LIST que se devolvió anteriormente de una llamada a NdisAllocateNetBufferListPool.

[in] ContextSize

Cantidad de espacio de datos usado en la estructura de NET_BUFFER_LIST_CONTEXT que se va a reservar para el autor de la llamada. ContextSize debe ser un múltiplo del valor definido por MEMORY_ALLOCATION_ALIGNMENT.

[in] ContextBackFill

Cantidad de espacio de datos sin usar (espacio de reposición) que requiere el autor de la llamada. NDIS agrega este valor a ContextSize y asigna espacio adicional. ContextBackFill debe ser un múltiplo del valor definido por MEMORY_ALLOCATION_ALIGNMENT.

Valor devuelto

NdisAllocateNetBufferList devuelve un puntero a la estructura de NET_BUFFER_LIST asignada. Si la asignación no se realizó correctamente, este puntero es NULL.

Comentarios

Puede llamar a NdisAllocateNetBufferList o Función NdisAllocateNetBufferAndNetBufferList para asignar una estructura de NET_BUFFER_LIST de un grupo.

Tenga en cuentaNET_BUFFER y NET_BUFFER_LIST estructuras deben asignarse desde un grupo de búferes NDIS. Un controlador no debe asignar ni inicializar una estructura de NET_BUFFER_LIST o NET_BUFFER desde su grupo de memoria privada o la pila.
 
Si llama a NdisAllocateNetBufferList y el grupo de estructura de NET_BUFFER_LIST se asignó llamando al Función NdisAllocateNetBufferListPool con el miembro fAllocateNetBuffer de la estructura de NET_BUFFER_LIST_POOL_PARAMETERS establecida en TRUE, NDIS asigna un NET_BUFFER_LIST, NET_BUFFER, MDL y datos.

Llame a la función NdisFreeNetBufferList para liberar una estructura de NET_BUFFER_LIST.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.0 y versiones posteriores.
Plataforma de destino Universal
Encabezado ndis/nblapi.h (include ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI Irql_NetBuffer_Function(ndis), NdisAllocateNetBufferList2(ndis), NdisAllocateNetBufferList2_InitFail(ndis)

Consulte también

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

NdisFreeNetBufferList