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 de la Fonction NdisAllocateNetBufferListPool . Le membre fAllocateNetBuffer de la structure NET_BUFFER_LIST_POOL_PARAMETERS que l’appelant passé à 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 de NET_BUFFER source. Cette quantité est ajoutée à 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 NET_BUFFER réassembled.
[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 à 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 de NET_BUFFER_LIST source fragmentée que le pilote a passé à FragmentNetBufferList. 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 fragmentée NET_BUFFER en une structure NET_BUFFER réassemblée. Les structures de NET_BUFFER_LIST réassembled n’incluent pas de structure initiale NET_BUFFER_LIST_CONTEXT structure.
Appeler le NdisFreeReassembledNetBufferList fonction pour libérer une structure NET_BUFFER_LIST réassembled et toutes les structures de NET_BUFFER associées et chaînes MDL.
Configuration requise
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