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 usado adicional 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 NetAllocateMdl . Si el autor de la llamada especifica un punto de entrada para la función NetAllocateMdl , NDIS llama a NetAllocateMdl para asignar una MDL y una memoria.
[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
NdisRetreatNetBufferListDataStart devuelve una de las siguientes opciones:
Código devuelto | Descripción |
---|---|
|
NdisRetreatNetBufferListDataStart asignó correctamente el espacio de datos en todas las estructuras NET_BUFFER, ya sea reduciendo el valor del miembro DataOffset o asignando un nuevo almacenamiento. |
|
Error de NdisRetreatNetBufferListDataStart debido a recursos insuficientes. |
|
Error de NdisRetreatNetBufferListDataStart por motivos distintos de recursos insuficientes. |
Comentarios
Llamar a NdisRetreatNetBufferListDataStart es el equivalente de llamar a Función NdisRetreatNetBufferDataStart para cada estructura de NET_BUFFER en la estructura de 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 la nueva MDL al principio de la cadena MDL en la estructura de NET_BUFFER.
Llamada a Función NdisAdvanceNetBufferListDataStart para liberar el espacio de datos que se afirmó en una llamada anterior a NdisRetreatNetBufferListDataStart . Como alternativa, el controlador puede llamar a Función NdisAdvanceNetBufferDataStart para cada estructura de NET_BUFFER en la estructura de NET_BUFFER_LIST. Llamar a NdisAdvanceNetBufferListDataStart es más eficaz.
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) |