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) |