NdisAllocateNetBufferList 函数 (ndis/nblapi.h)
调用 NdisAllocateNetBufferList 函数以从 NET_BUFFER_LIST 结构池中分配和初始化NET_BUFFER_LIST结构。
语法
NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateNetBufferList(
[in] NDIS_HANDLE PoolHandle,
[in] USHORT ContextSize,
[in] USHORT ContextBackFill
);
参数
[in] PoolHandle
以前从调用返回的NET_BUFFER_LIST结构池句柄 NdisAllocateNetBufferListPool。
[in] ContextSize
要为调用方保留的NET_BUFFER_LIST_CONTEXT结构中已用数据空间量。 ContextSize 必须是MEMORY_ALLOCATION_ALIGNMENT定义的值的倍数。
[in] ContextBackFill
调用方所需的) (回填空间 (未使用的数据 空间量。 NDIS 将此值添加到 ContextSize 并分配额外的空间。 ContextBackFill 必须是MEMORY_ALLOCATION_ALIGNMENT定义的值的倍数。
返回值
NdisAllocateNetBufferList 返回指向已分配NET_BUFFER_LIST结构的指针。 如果分配失败,则此指针为 NULL。
注解
可以调用 NdisAllocateNetBufferList 或 NdisAllocateNetBufferAndNetBufferList 函数,用于从池中分配 NET_BUFFER_LIST 结构。
注意必须 从 NDIS 缓冲池分配NET_BUFFER和 NET_BUFFER_LIST 结构。 驱动程序不得从其专用内存池或堆栈分配和初始化NET_BUFFER_LIST或NET_BUFFER结构。
调用 NdisFreeNetBufferList 函数以释放NET_BUFFER_LIST结构。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.0 及更高版本中受支持。 |
目标平台 | 通用 |
标头 | ndis/nblapi.h (包括 ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | Irql_NetBuffer_Function (ndis) 、NdisAllocateNetBufferList2 (ndis) 、NdisAllocateNetBufferList2_InitFail (ndis) |
另请参阅
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool