Función NdisAllocateNetBufferListPool (ndis/nblapi.h)

Llame a la función NdisAllocateNetBufferListPool para asignar un grupo de estructuras NET_BUFFER_LIST .

Sintaxis

NDIS_EXPORTED_ROUTINE NDIS_HANDLE NdisAllocateNetBufferListPool(
  [in, optional] NDIS_HANDLE                           NdisHandle,
  [in]           NET_BUFFER_LIST_POOL_PARAMETERS const *Parameters
);

Parámetros

[in, optional] NdisHandle

Identificador NDIS que se obtuvo durante la inicialización del autor de la llamada.

[in] Parameters

Puntero a una estructura NET_BUFFER_LIST_POOL_PARAMETERS que define los parámetros del grupo.

Valor devuelto

NdisAllocateNetBufferListPool devuelve un identificador al grupo de estructuras de NET_BUFFER_LIST que asigna NDIS. Si la asignación no se realizó correctamente, este identificador es NULL. Este identificador es un parámetro necesario en llamadas posteriores a funciones NDIS que asignan y liberan estructuras de NET_BUFFER_LIST de este grupo.

Comentarios

En la mayoría de los casos, un llamador que asigna una estructura de NET_BUFFER_LIST asignará y pondrá en cola al menos una estructura NET_BUFFER en esa estructura NET_BUFFER_LIST. Es más eficaz asignar previamente las estructuras de NET_BUFFER al asignar un grupo de estructuras de NET_BUFFER_LIST que asignar estructuras de NET_BUFFER_LIST y estructuras NET_BUFFER por separado.

Puede llamar a la función NdisAllocateNetBufferListPool con el valor fAllocateNetBuffer establecido en TRUE al crear un grupo de estructuras NET_BUFFER_LIST. En este caso, una estructura de NET_BUFFER se asigna previamente con cada estructura de NET_BUFFER_LIST que asigna el autor de la llamada del grupo. Puede llamar a . Función NdisAllocateNetBufferAndNetBufferList o Función NdisAllocateNetBufferList para asignar NET_BUFFER_LIST estructuras de dicho grupo. Llame a NdisAllocateNetBufferAndNetBufferList solo si fAllocateNetBuffer es TRUE y DataSize es cero.

También puede llamar a NdisAllocateNetBufferListPool y establecer el miembro DataSize en un valor distinto de cero al crear un grupo de estructuras NET_BUFFER_LIST. En este caso, una estructura de NET_BUFFER, MDL y datos se asignan previamente con cada estructura NET_BUFFER_LIST que asigna el autor de la llamada del grupo.

NET_BUFFER estructuras, MDL y búferes de datos asignados con NdisAllocateNetBufferAndNetBufferList o NdisAllocateNetBufferList no deben liberarse separados de la estructura de NET_BUFFER_LIST. Estas estructuras se liberan con la estructura NET_BUFFER_LIST cuando se llama a la función NdisFreeNetBufferList .

Llamar a Función NdisFreeNetBufferListPool para liberar un grupo de estructuras de NET_BUFFER_LIST.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.0 y versiones posteriores.
Plataforma de destino Universal
Encabezado ndis/nblapi.h (include ndis.h)
Library Ndis.lib
Archivo DLL Ndis.sys
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI Irql_NetBuffer_Function(ndis), NdisAllocateNetBufferListPool(ndis), NdisAllocateNetBufferListPool_InitFail(ndis)

Consulte también

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList

NdisAllocateNetBufferList

NdisFreeNetBufferList

NdisFreeNetBufferListPool