struttura NET_BUFFER_LIST_POOL_PARAMETERS (ndis/nblapi.h)

La struttura NET_BUFFER_LIST_POOL_PARAMETERS definisce i parametri per un pool di strutture NET_BUFFER_LIST .

Sintassi

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;

Members

Header

Tipo, revisione e dimensioni della struttura NET_BUFFER_LIST_POOL_PARAMETERS . Questo membro viene formattato come struttura NDIS_OBJECT_HEADER .

Il driver miniport deve impostare il membro Type di Header su NDIS_OBJECT_TYPE_DEFAULT. Per specificare la versione della struttura NET_BUFFER_LIST_POOL_PARAMETERS , il driver deve impostare il membro Revision di Header sul valore seguente:

NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1

Versione originale per NDIS 6.0.

Impostare il membro Size su NDIS_SIZEOF_NET_BUFFER_LIST_POOL_PARAMETERS_REVISION_1.

ProtocolId

Tipo di chiamante. Miniport, filtro e driver intermedi impostano questo campo su zero (NDIS_PROTOCOL_ID_DEFAULT). I driver di protocollo usano uno dei valori seguenti:

NDIS_PROTOCOL_ID_DEFAULT

Specifica un identificatore del driver di protocollo predefinito.

NDIS_PROTOCOL_ID_TCP_IP

Specifica il protocollo TCP/IP.

NDIS_PROTOCOL_ID_IPX

Specifica il protocollo IPX.

NDIS_PROTOCOL_ID_NBF

Specifica il protocollo NetBEUI.

fAllocateNetBuffer

Se questo membro è impostato su TRUE, NDIS alloca un pool di strutture NET_BUFFER_LIST . Ogni struttura NET_BUFFER_LIST allocata viene inizializzata con una struttura NET_BUFFER .

Se questo membro è impostato su FALSE, NDIS alloca un pool di strutture NET_BUFFER_LIST . Ogni struttura NET_BUFFER_LIST allocata non viene inizializzata per contenere strutture NET_BUFFER .

Per altre informazioni, vedere la sezione Osservazioni.

ContextSize

Dimensioni, in byte, dei dati della struttura preallocata NET_BUFFER_LIST_CONTEXT che NDIS deve fornire per le strutture NET_BUFFER_LIST in questo pool. ContextSize deve essere un multiplo del valore definito da MEMORY_ALLOCATION_ALIGNMENT.

PoolTag

Tag del pool di kernel usato dal chiamante quando alloca NET_BUFFER_LIST strutture da questo pool. Il tag è una stringa, delimitata da virgolette singole, con un massimo di quattro caratteri, in genere specificato in ordine inverso. Il tag del pool di kernel consente a NDIS di identificare il proprietario delle strutture NET_BUFFER_LIST allocate da questo pool.

DataSize

Dimensioni dei dati predefinite, in byte, per i buffer di dati associati a questo pool di NET_BUFFER_LIST , se presente. NDIS usa questo valore per impostare le dimensioni di tutti i buffer di dati allocati per le strutture di NET_BUFFER associate.

Per altre informazioni, vedere la sezione Osservazioni.

Flags

Viene definito il flag seguente:

NET_BUFFER_LIST_POOL_FLAG_VERIFY 0x00000001

Se questo flag è impostato, NDIS non riutilizzerà immediatamente NET_BUFFER_LISTs da questo pool. Al contrario, le allocazioni verranno contrassegnate come senza accesso quando vengono liberate in modo che i driver possano rilevare bug senza utilizzo.

Commenti

Se fAllocateNetBuffer è impostato su FALSE, NDIS non allocherà NET_BUFFER strutture e DataSize deve essere impostato su zero.

Se DataSize non è zero, fAllocateNetBuffer deve essere impostato su TRUE. In questo modo NDIS alloca la struttura NET_BUFFER con un buffer di dati delle dimensioni specificate.

Se DataSize è zero e fAllocateNetBuffer è TRUE, NDIS alloca la struttura NET_BUFFER ma non il buffer dei dati.

Il parametro Parameters della funzione NdisAllocateNetBufferListPool contiene un puntatore a una struttura NET_BUFFER_LIST_POOL_PARAMETERS .

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Intestazione ndis/nblapi.h (include ndis.h)

Vedi anche

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_DATA

NdisAllocateNetBufferListPool