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)

Voir aussi

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_DATA

NdisAllocateNetBufferListPool