Funzione NdisAllocateNetBufferPool (ndis/nblapi.h)
Chiamare la funzione NdisAllocateNetBufferPool per allocare un pool di strutture NET_BUFFER .
Sintassi
NDIS_EXPORTED_ROUTINE NDIS_HANDLE NdisAllocateNetBufferPool(
[in, optional] NDIS_HANDLE NdisHandle,
[in] NET_BUFFER_POOL_PARAMETERS const *Parameters
);
Parametri
[in, optional] NdisHandle
Handle NDIS ottenuto durante l'inizializzazione del chiamante.
[in] Parameters
Puntatore a una struttura NET_BUFFER_POOL_PARAMETERS che definisce i parametri per il pool. La struttura è definita come segue:
typedef struct _NET_BUFFER_POOL_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG PoolTag;
ULONG DataSize;
} NET_BUFFER_POOL_PARAMETERS, *PNET_BUFFER_POOL_PARAMETERS;
Questa struttura include i membri seguenti:
Intestazione
Struttura NDIS_OBJECT_HEADER per la struttura NET_BUFFER_POOL_PARAMETERS. Impostare il membro Type della struttura specificata da Header su NDIS_OBJECT_TYPE_DEFAULT, il membro Revision su NET_BUFFER_POOL_PARAMETERS_REVISION_1 e il membro Size su NDIS_SIZEOF_NET_BUFFER_POOL_PARAMETERS_REVISION_1.
PoolTag
Tag del pool di kernel usato dal chiamante quando alloca NET_BUFFER 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 allocate da questo pool.
DataSize
Dimensioni predefinite dei dati per i buffer di dati associati a questo pool. Il chiamante deve impostare questo valore se chiama Funzione NdisAllocateNetBufferMdlAndData . NDIS usa questo valore per impostare le dimensioni del buffer di dati allocato per la struttura NET_BUFFER. Se il chiamante non usa questa funzionalità, questo valore deve essere impostato su zero.
Valore restituito
NdisAllocateNetBufferPool restituisce un handle al pool di strutture NET_BUFFER allocato da NDIS. Se l'allocazione non è riuscita, questo handle è NULL. Questo handle è un parametro obbligatorio nelle chiamate successive alle funzioni NDIS che allocano e liberano strutture NET_BUFFER da questo pool.
Commenti
Chiamare le funzioni seguenti per allocare NET_BUFFER strutture dal pool di strutture NET_BUFFER.
NdisAllocateNetBufferMdlAndDataI buffer di dati e MDL allocati con NdisAllocateNetBufferMdlAndData non devono essere liberati dalla struttura NET_BUFFER. Tali strutture vengono liberate con la struttura NET_BUFFER quando si chiama la funzione NdisFreeNetBuffer .
Chiamare la funzione NdisFreeNetBufferPool per liberare NET_BUFFER pool di strutture creati con NdisAllocateNetBufferPool.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
Piattaforma di destinazione | Universale |
Intestazione | ndis/nblapi.h (include ndis.h) |
Libreria | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Regole di conformità DDI | Irql_NetBuffer_Function(ndis), NdisAllocateNetBufferPool(ndis), NdisAllocateNetBufferPool_InitFail(ndis) |