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) |