Función NdisRetreatNetBufferDataStart (ndis/nblapi.h)
Llame a la función NdisRetreatNetBufferDataStart para acceder a más espacio de datos usado en la cadena MDL de una estructura de NET_BUFFER.
NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisRetreatNetBufferDataStart(
[in] NET_BUFFER *NetBuffer,
[in] ULONG DataOffsetDelta,
[in] ULONG DataBackFill,
[in, optional] NET_BUFFER_ALLOCATE_MDL *AllocateMdlHandler
);
[in] NetBuffer
Puntero a una estructura de NET_BUFFER asignada previamente.
[in] DataOffsetDelta
Cantidad de espacio de datos usado agregar. NDIS ajusta el miembro DataOffset de la estructura NET_BUFFER en consecuencia. Si no hay suficiente espacio de datos sin usar para satisfacer la solicitud, NDIS asigna memoria adicional.
[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, para 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.
NdisRetreatNetBufferDataStart devuelve una de las siguientes opciones:
Código devuelto | Descripción |
---|---|
|
NdisRetreatNetBufferDataStart asignado correctamente espacio de datos usado mediante el espacio de datos sin usar o asignando nuevo almacenamiento. |
|
NdisRetreatNetBufferDataStart error debido a recursos insuficientes. |
|
error de NdisRetreatNetBufferDataStart por motivos distintos de recursos insuficientes. |
NdisRetreatNetBufferDataStart intenta satisfacer la solicitud reduciendo el valor del miembro DataOffset de la estructura NET_BUFFER.
Si no hay suficiente espacio de datos no utilizado, esta función asigna un nuevo búfer y una MDL para describir el nuevo búfer y encadenar el nuevo MDL al principio de la cadena MDL. NDIS llama a la función de NetAllocateMdl especificada en AllocateMdl para asignar la MDL y la memoria. La función de NetAllocateMdl puede usar cualquier método de asignación que cumpla los requisitos de diseño del controlador.
Llamada a función NdisAdvanceNetBufferDataStart para liberar el espacio de datos usado que se agregó con NdisRetreatNetBufferDataStart.
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) |