structure NET_BUFFER_LIST_POOL_PARAMETERS (ndis/nblapi.h)
La structure NET_BUFFER_LIST_POOL_PARAMETERS définit les paramètres d’un pool de structures NET_BUFFER_LIST .
Syntaxe
typedef struct _NET_BUFFER_LIST_POOL_PARAMETERS {
NDIS_OBJECT_HEADER Header;
UCHAR ProtocolId;
BOOLEAN fAllocateNetBuffer;
USHORT ContextSize;
ULONG PoolTag;
ULONG DataSize;
ULONG Flags;
} NET_BUFFER_LIST_POOL_PARAMETERS, *PNET_BUFFER_LIST_POOL_PARAMETERS;
Membres
Header
Type, révision et taille de la structure NET_BUFFER_LIST_POOL_PARAMETERS . Ce membre est mis en forme en tant que structure NDIS_OBJECT_HEADER .
Le pilote miniport doit définir le membre Type de l’en-tête sur NDIS_OBJECT_TYPE_DEFAULT. Pour spécifier la version de la structure NET_BUFFER_LIST_POOL_PARAMETERS , le pilote doit définir le membre Revision de Header sur la valeur suivante :
NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1
Version d’origine de NDIS 6.0.
Définissez le membre Taille sur NDIS_SIZEOF_NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1.
ProtocolId
Type d’appelant. Les pilotes miniport, filtre et intermédiaire définissent ce champ sur zéro (NDIS_PROTOCOL_ID_DEFAULT). Les pilotes de protocole utilisent l’une des valeurs suivantes :
NDIS_PROTOCOL_ID_DEFAULT
Spécifie un identificateur de pilote de protocole par défaut.
NDIS_PROTOCOL_ID_TCP_IP
Spécifie le protocole TCP/IP.
NDIS_PROTOCOL_ID_IPX
Spécifie le protocole IPX.
NDIS_PROTOCOL_ID_NBF
Spécifie le protocole NetBEUI.
fAllocateNetBuffer
Si ce membre a la valeur TRUE, NDIS alloue un pool de structures NET_BUFFER_LIST . Chaque structure de NET_BUFFER_LIST allouée est initialisée avec une structure NET_BUFFER .
Si ce membre a la valeur FALSE, NDIS alloue un pool de structures NET_BUFFER_LIST . Chaque structure de NET_BUFFER_LIST allouée n’est pas initialisée pour contenir des structures NET_BUFFER .
Pour plus d'informations, consultez la section Notes.
ContextSize
Taille, en octets, des données de structure NET_BUFFER_LIST_CONTEXT préallouées que NDIS doit fournir pour les structures NET_BUFFER_LIST dans ce pool. ContextSize doit être un multiple de la valeur définie par MEMORY_ALLOCATION_ALIGNMENT.
PoolTag
Balise de pool de noyau que l’appelant utilise lorsqu’il alloue NET_BUFFER_LIST structures à partir de ce pool. La balise est une chaîne, délimitée par des guillemets simples, avec jusqu’à quatre caractères, généralement spécifiés dans l’ordre inverse. La balise de pool de noyau aide NDIS à identifier le propriétaire des structures NET_BUFFER_LIST qui sont allouées à partir de ce pool.
DataSize
Taille de données par défaut, en octets, pour les mémoires tampons de données associées à ce pool NET_BUFFER_LIST , le cas échéant. NDIS utilise cette valeur pour définir la taille des mémoires tampons de données qu’il alloue à toutes les structures NET_BUFFER associées.
Pour plus d'informations, consultez la section Notes.
Flags
L’indicateur suivant est défini :
NET_BUFFER_LIST_POOL_FLAG_VERIFY 0x00000001
Si cet indicateur est défini, NDIS ne réutilise pas immédiatement NET_BUFFER_LISTs de ce pool. Au lieu de cela, les allocations sont marquées comme étant sans accès lorsqu’elles sont libérées afin que les pilotes puissent détecter les bogues d’utilisation après la libération.
Remarques
Si fAllocateNetBuffer a la valeur FALSE, NDIS n’alloue pas NET_BUFFER structures et DataSize doit être défini sur zéro.
Si DataSize n’est pas égal à zéro, fAllocateNetBuffer doit avoir la valeur TRUE. Cela amène NDIS à allouer la structure NET_BUFFER avec une mémoire tampon de données de la taille spécifiée.
Si DataSize est égal à zéro et que fAllocateNetBuffer a la valeur TRUE, NDIS alloue la structure NET_BUFFER , mais pas la mémoire tampon de données.
Le paramètre Parameters de la fonction NdisAllocateNetBufferListPool contient un pointeur vers une structure NET_BUFFER_LIST_POOL_PARAMETERS .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
En-tête | ndis/nblapi.h (include ndis.h) |