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