Compartir a través de


Función NdisAllocateNetBufferMdlAndData (ndis/nblapi.h)

Los controladores NDIS llaman a la función NdisAllocateNetBufferMdlAndData para asignar una estructura de NET_BUFFER junto con los datos y MDL asociados.

Sintaxis

NDIS_EXPORTED_ROUTINE NET_BUFFER * NdisAllocateNetBufferMdlAndData(
  [in] NDIS_HANDLE PoolHandle
);

Parámetros

[in] PoolHandle

Identificador de grupo de NET_BUFFER estructura que se devolvió anteriormente desde una llamada a la función NdisAllocateNetBufferPool.

Valor devuelto

NdisAllocateNetBufferMdlAndData devuelve un puntero a la estructura de NET_BUFFER asignada por NDIS. Si la asignación no se realizó correctamente, este puntero es NULL.

Observaciones

El autor de la llamada debe llamar a la función NdisAllocateNetBufferPool y especificar el tamaño máximo de los búferes de datos. Dado este valor, NDIS puede asignar previamente búferes para el autor de la llamada.

Esta función asigna una estructura de NET_BUFFER, MDL y datos en un solo búfer de memoria. Esto resulta útil para lograr un alto rendimiento cuando NET_BUFFER estructuras se asignan y liberan con frecuencia. El autor de la llamada no debe llamar a NdisAllocateNetBuffer para asignar NET_BUFFERs de grupos de NET_BUFFER que contienen datos.

NDIS usa el parámetro PoolHandle para obtener un bloque de memoria y, a continuación, crea el NET_BUFFER, MDL y el búfer de datos.

Para liberar el NET_BUFFER y la información asociada, llame a la función NdisFreeNetBuffer.

Requisitos

Requisito Valor
cliente mínimo admitido Se admite en NDIS 6.0 y versiones posteriores.
de la plataforma de destino de Universal
encabezado de ndis/nblapi.h (incluya ndis.h)
biblioteca de Ndis.lib
irQL <= DISPATCH_LEVEL
reglas de cumplimiento de DDI Irql_NetBuffer_Function(ndis), NdisAllocateNetBufferMdlAndData(ndis), NdisAllocateNetBufferMdlAndData_InitFail(ndis)

Consulte también

NET_BUFFER

NdisAllocateNetBuffer

NdisFreeNetBuffer