Compartir a través de


Función NdisAdvanceNetBufferDataStart (ndis/nblapi.h)

Llame a la función NdisAdvanceNetBufferDataStart para liberar el espacio de datos usado que se agregó con el función NdisRetreatNetBufferDataStart.

Sintaxis

NDIS_EXPORTED_ROUTINE VOID NdisAdvanceNetBufferDataStart(
  [in]           NET_BUFFER          *NetBuffer,
  [in]           ULONG               DataOffsetDelta,
  [in]           BOOLEAN             FreeMdl,
  [in, optional] NET_BUFFER_FREE_MDL *FreeMdlHandler
);

Parámetros

[in] NetBuffer

Puntero a una estructura de NET_BUFFER asignada previamente.

[in] DataOffsetDelta

Cantidad de espacio de datos usado liberar. NDIS ajusta el valor del miembro DataOffset de la estructura NET_BUFFER en consecuencia.

[in] FreeMdl

Valor BOOLEAN que, si TRUE, solicita a NDIS que libere los MDL que no se usen en la operación anticipada. Si FreeMdl es FALSE, NDIS conserva los MDL sin usar para su uso en las operaciones de retirada posteriores.

[in, optional] FreeMdlHandler

Un punto de entrada opcional para una función de netFreeMdl de. Si el autor de la llamada especifica un punto de entrada para la función de netFreeMdl de, NDIS llama a netFreeMdl para liberar una MDL y memoria.

Valor devuelto

Ninguno

Observaciones

Si la memoria asignada por NDIS para satisfacer una llamada correspondiente a función NdisRetreatNetBufferDataStart, NdisAdvanceNetBufferDataStart libera la memoria que NdisRetreatNetBufferDataStart asignada. De lo contrario, la memoria permanece en MDL y solo se modifica el valor del DataOffset miembro de la estructura NET_BUFFER.

NDIS llama a la función NetFreeMdl especificada en freeMdl si NdisAdvanceNetBufferDataStart debe liberar memoria. NDIS llama a NetFreeMdl solo para liberar las MDL y la memoria que el controlador asignó en la función de NetAllocateMdl.

Cuando los controladores de protocolo llaman a NdisAdvanceNetBufferDataStart en la ruta de acceso de recepción para acceder a los distintos encabezados de transporte, la cadena MDL no debe modificarse y FreeMdl es FALSE.

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)

Consulte también

NET_BUFFER

NdisRetreatNetBufferDataStart

NetAllocateMdl

NetFreeMdl