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 |
---|---|
|
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. |
|
NdisRetreatNetBufferListDataStart error debido a recursos insuficientes. |
|
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) |