NdisAllocateReassembledNetBufferList, fonction (ndis/nblapi.h)

Appelez la fonction NdisAllocateReassembledNetBufferList pour réassembler une structure 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

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

[in] StartOffset

Quantité de données à ignorer au début de chaque structure NET_BUFFER source. Cette quantité s’ajoute à la valeur spécifiée dans le membre DataOffset de la structure NET_BUFFER.

[in] DataOffsetDelta

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

[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 d’espace de données inutilisé en plus de DataOffsetDelta à allouer.

[in] AllocateReassembleFlags

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

Valeur retournée

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

Remarques

NdisAllocateReassembledNetBufferList alloue, initialise et retourne une nouvelle structure NET_BUFFER_LIST qui comprend une structure NET_BUFFER et une chaîne MDL. La nouvelle structure de NET_BUFFER_LIST décrit les mêmes données que la structure de NET_BUFFER_LIST source fragmentée que le pilote a transmise à FragmentationNetBufferList. Après avoir ignoré le nombre d’octets spécifié 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 NET_BUFFER_LIST réassemblage n’incluent pas de initiale NET_BUFFER_LIST_CONTEXT structure.

Appelez le Fonction NdisFreeReassembledNetBufferList pour libérer une structure de NET_BUFFER_LIST réassemble et toutes les structures NET_BUFFER associées et les chaînes MDL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
Plateforme cible Universal
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