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_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList