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 . 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 que se va a liberar. NDIS ajusta el valor del miembro DataOffset de la estructura NET_BUFFER en consecuencia.

[in] FreeMdl

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

[in, optional] FreeMdlHandler

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

Valor devuelto

None

Observaciones

Si la memoria asignada por NDIS para satisfacer una llamada correspondiente a La función NdisRetreatNetBufferDataStart , a continuación, NdisAdvanceNetBufferDataStart libera la memoria asignada por NdisRetreatNetBufferDataStart . De lo contrario, la memoria permanece en MDL y solo se modifica el valor del miembro DataOffset 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 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 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)

Consulte también

NET_BUFFER

NdisRetreatNetBufferDataStart

NetAllocateMdl

NetFreeMdl