Función NdisAllocateNetBufferMdlAndData (ndis/nblapi.h)

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

Sintaxis

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

Parámetros

[in] PoolHandle

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

Valor devuelto

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

Comentarios

El llamador 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 NET_BUFFER , MDL y datos en un solo búfer de memoria. Esto resulta útil para lograr un alto rendimiento cuando las estructuras de NET_BUFFER se asignan y liberan con frecuencia. El autor de la llamada no debe llamar a NdisAllocateNetBuffer para asignar NET_BUFFERs fuera de NET_BUFFER grupos 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 e información asociada, llame a la función NdisFreeNetBuffer .

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), NdisAllocateNetBufferMdlAndData(ndis), NdisAllocateNetBufferMdlAndData_InitFail(ndis)

Consulte también

NET_BUFFER

NdisAllocateNetBuffer

NdisFreeNetBuffer