Compartir a través de


Función NdisRetreatNetBufferListDataStart (ndis/nblapi.h)

Llame a la función NdisRetreatNetBufferListDataStart para aumentar el espacio de datos usado en todas las estructuras de NET_BUFFER de una estructura de NET_BUFFER_LIST.

Sintaxis

NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisRetreatNetBufferListDataStart(
  [in]           NET_BUFFER_LIST         *NetBufferList,
  [in]           ULONG                   DataOffsetDelta,
  [in]           ULONG                   DataBackFill,
  [in, optional] NET_BUFFER_ALLOCATE_MDL *AllocateMdlHandler,
  [in, optional] NET_BUFFER_FREE_MDL     *FreeMdlHandler
);

Parámetros

[in] NetBufferList

Puntero a una estructura de NET_BUFFER_LIST asignada previamente.

[in] DataOffsetDelta

Cantidad de espacio de datos adicional usado en cada estructura de NET_BUFFER. Si no hay suficiente espacio de datos sin usar para satisfacer la solicitud, NDIS asigna más memoria.

[in] DataBackFill

Si NDIS debe asignar memoria, este parámetro especifica la cantidad de espacio de datos además del valor del parámetro DataOffsetDelta que se va a asignar.

[in, optional] AllocateMdlHandler

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

[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

NdisRetreatNetBufferListDataStart devuelve una de las siguientes opciones:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
NdisRetreatNetBufferListDataStart asignaron correctamente el espacio de datos en todas las estructuras de NET_BUFFER, ya sea reduciendo el valor del miembro dataOffset o asignando nuevo almacenamiento.
NDIS_STATUS_RESOURCES
NdisRetreatNetBufferListDataStart error debido a recursos insuficientes.
NDIS_STATUS_FAILURE
NdisRetreatNetBufferListDataStart error por motivos distintos de recursos insuficientes.

Observaciones

Llamar a NdisRetreatNetBufferListDataStart es el equivalente de llamar a . función NdisRetreatNetBufferDataStart para cada estructura de NET_BUFFER de la estructura NET_BUFFER_LIST. NdisRetreatNetBufferListDataStart intenta satisfacer la solicitud reduciendo el valor del miembro DataOffset en cada estructura de NET_BUFFER. Si no hay suficiente espacio de datos sin usar disponible, esta función asigna un nuevo búfer y MDL y, a continuación, encadena el nuevo MDL al principio de la cadena MDL en la estructura NET_BUFFER.

Llamada a función NdisAdvanceNetBufferListDataStart para liberar el espacio de datos que se afirmó en una llamada de NdisRetreatNetBufferListDataStart. Como alternativa, el controlador puede llamar a . función NdisAdvanceNetBufferDataStart para cada estructura de NET_BUFFER en la estructura NET_BUFFER_LIST. Llamar a NdisAdvanceNetBufferListDataStart es más eficaz.

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

NET_BUFFER_LIST

NdisAdvanceNetBufferDataStart NdisAdvanceNetBufferListDataStart NdisRetreatNetBufferDataStart

NetAllocateMdl

NetFreeMdl