Partager via


NdisAllocateReassembledNetBufferList, fonction (ndis/nblapi.h)

Appelez la fonction NdisAllocateReassembledNetBufferList pour réassembler une structure de NET_BUFFER_LIST fragmentée.

Syntaxe

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
);

Paramètres

FragmentNetBufferList

Pointeur vers la structure NET_BUFFER_LIST à réassembler.

[in, optional] NetBufferAndNetBufferListPoolHandle

Handle de pool de structures NET_BUFFER_LIST qui a été retourné précédemment à partir du fonction NdisAllocateNetBufferListPool. Le membre fAllocateNetBuffer de la structure NET_BUFFER_LIST_POOL_PARAMETERS que l’appelant a passée à NdisAllocateNetBufferListPool doit avoir été défini sur TRUE, et le membre DataSize défini sur zéro. Si ce paramètre est NULL, NDIS utilise un pool interne.

[in] StartOffset

Quantité de données à ignorer au début de chaque structure NET_BUFFER source. Cette quantité est en plus de la valeur spécifiée dans le membre dataOffset de la structure NET_BUFFER.

[in] DataOffsetDelta

Nombre d’octets de espace de données utilisé à ajouter dans la structure de NET_BUFFER réassemble.

[in] DataBackFill

Si l’allocation d'espace de données inutilisé (espace de remplissage) est requise, ce paramètre spécifie le nombre d’octets de espace de données inutilisé en plus de DataOffsetDelta à allouer.

[in] AllocateReassembleFlags

Indicateurs NDIS qui peuvent être combinés à une opération OR. Définissez ce paramètre sur zéro. Il n’existe actuellement aucun indicateur défini pour cette fonction.

Valeur de retour

Si l’opération de réassemble réussit, NdisAllocateReassembledNetBufferList retourne une structure NET_BUFFER_LIST réassembled. Si l’opération échoue, elle retourne NULL .

Remarques

NdisAllocateReassembledNetBufferList alloue, initialise et retourne une nouvelle structure NET_BUFFER_LIST qui inclut une structure NET_BUFFER et une chaîne MDL. La nouvelle structure NET_BUFFER_LIST décrit les mêmes données que la structure NET_BUFFER_LIST source fragmentée que le pilote a passée à FragmentéNetBufferList. Après avoir ignoré le nombre d’octets spécifiés dans startOffset dans chaque structure de NET_BUFFER fragmentée, NDIS concatène les données restantes dans chaque structure de NET_BUFFER fragmentée en une structure NET_BUFFER réassemblée. Les structures de NET_BUFFER_LIST reassembled n’incluent pas de structures initiales structure NET_BUFFER_LIST_CONTEXT.

Appeler le fonction NdisFreeReassembledNetBufferList pour libérer une structure NET_BUFFER_LIST réassembled et toutes les structures NET_BUFFER associées et chaînes MDL.

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge dans NDIS 6.0 et versions ultérieures.
plateforme cible Universel
d’en-tête ndis/nblapi.h (include ndis.h)
bibliothèque Ndis.lib
IRQL <= DISPATCH_LEVEL
règles de conformité DDI Irql_NetBuffer_Function(ndis), NdisAllocateReassembledNetBufferList(ndis), NdisAllocateReassembledNetBufferList_InitFail(ndis)

Voir aussi

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList