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_LIST_POOL_PARAMETERS
NdisAllocateNetBufferAndNetBufferList