Compartir a través de


Función NdisAllocateReassembledNetBufferList (ndis/nblapi.h)

Llame a la función NdisAllocateReassembledNetBufferList para volver a ensamblar una estructura de NET_BUFFER_LIST fragmentada.

Sintaxis

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateReassembledNetBufferList(
                 NET_BUFFER_LIST *FragmentNetBufferList,
  [in, optional] NDIS_HANDLE     NetBufferAndNetBufferListPoolHandle,
  [in]           ULONG           StartOffset,
  [in]           ULONG           DataOffsetDelta,
  [in]           ULONG           DataBackFill,
  [in]           ULONG           AllocateReassembleFlags
);

Parámetros

FragmentNetBufferList

Puntero a la estructura NET_BUFFER_LIST que se va a volver a ensamblar.

[in, optional] NetBufferAndNetBufferListPoolHandle

Identificador de grupo de NET_BUFFER_LIST estructura que se devolvió anteriormente desde . Función NdisAllocateNetBufferListPool . El miembro fAllocateNetBuffer de la estructura NET_BUFFER_LIST_POOL_PARAMETERS que el autor de la llamada pasó a NdisAllocateNetBufferListPool debe estar establecido en TRUE y el miembro DataSize establecido en cero. Si este parámetro es NULL, NDIS usa un grupo interno.

[in] StartOffset

Cantidad de datos que se omitirán al principio de cada estructura de NET_BUFFER de origen. Esta cantidad se suma al valor especificado en el miembro DataOffset de la estructura NET_BUFFER.

[in] DataOffsetDelta

Número de bytes de espacio de datos usado que se va a agregar a en la estructura NET_BUFFER ensamblada.

[in] DataBackFill

Si se requiere la asignación de espacio de datos sin usar (espacio de reposición), este parámetro especifica el número de bytes de espacio de datos no utilizado además de DataOffsetDelta que se va a asignar.

[in] AllocateReassembleFlags

Marcas NDIS que se pueden combinar con una operación OR. Establezca este parámetro en cero. Actualmente no hay marcas definidas para esta función.

Valor devuelto

Si la operación de reensamblaje se realiza correctamente, NdisAllocateReassembledNetBufferList devuelve una estructura NET_BUFFER_LIST ensamblada. Si se produce un error en la operación, devuelve NULL.

Comentarios

NdisAllocateReassembledNetBufferList asigna, inicializa y devuelve una nueva estructura de NET_BUFFER_LIST que incluye una estructura NET_BUFFER y una cadena MDL. La nueva estructura de NET_BUFFER_LIST describe los mismos datos que la estructura de origen fragmentada NET_BUFFER_LIST que el controlador pasó en FragmentedNetBufferList. Después de omitir el número de bytes especificados en StartOffset en cada estructura de NET_BUFFER fragmentada, NDIS concatena los datos restantes en cada estructura de NET_BUFFER fragmentada en una estructura NET_BUFFER ensamblada. Las estructuras de NET_BUFFER_LIST ensambladas no incluyen una inicial NET_BUFFER_LIST_CONTEXT estructura.

Llamar a Función NdisFreeReassembledNetBufferList para liberar una estructura NET_BUFFER_LIST ensamblada y todas las estructuras de NET_BUFFER asociadas y cadenas MDL.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en 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), NdisAllocateReassembledNetBufferList(ndis), NdisAllocateReassembledNetBufferList_InitFail(ndis)

Consulte también

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList