Partager via


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 de l'd’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 Size 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 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 Remarques.

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 de ce pool. Le ContextSize doit être un multiple de la valeur définie par MEMORY_ALLOCATION_ALIGNMENT.

PoolTag

Balise de pool de noyau utilisée par l’appelant lorsqu’il alloue des structures NET_BUFFER_LIST à 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 permet à NDIS d’identifier le propriétaire des structures NET_BUFFER_LIST 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’elle alloue pour toutes les structures NET_BUFFER associées.

Pour plus d’informations, consultez la section Remarques.

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 à partir de ce pool. Au lieu de cela, les allocations sont marquées comme sans accès lorsqu’elles sont libérées afin que les pilotes puissent détecter les bogues sans utilisation.

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 zéro, fAllocateNetBuffer doit avoir la valeur TRUE. Ainsi, NDIS alloue 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 fAllocateNetBuffer est 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.

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge dans NDIS 6.0 et versions ultérieures.
d’en-tête ndis/nblapi.h (include ndis.h)

Voir aussi

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_DATA

NdisAllocateNetBufferListPool