FwpsAllocateNetBufferAndNetBufferList0 函数 (fwpsk.h)
FwpsAllocateNetBufferAndNetBufferList0 函数分配新的 NET_BUFFER_LIST 结构。
语法
NTSTATUS FwpsAllocateNetBufferAndNetBufferList0(
[in] NDIS_HANDLE poolHandle,
[in] USHORT contextSize,
[in] USHORT contextBackFill,
[in, optional] MDL *mdlChain,
[in] ULONG dataOffset,
[in] SIZE_T dataLength,
[out] NET_BUFFER_LIST **netBufferList
);
参数
[in] poolHandle
从先前调用 NdisAllocateNetBufferListPool 函数获得的 NET_BUFFER_LIST 池句柄。
[in] contextSize
要为标注驱动程序保留的 NET_BUFFER_LIST_CONTEXT 结构中已用数据空间的大小(以字节为单位)。 此参数的值必须是由 MEMORY_ALLOCATION_ALIGNMENT定义的值的倍数。
[in] contextBackFill
标注驱动程序所需的未使用数据空间(回填空间)的大小(以字节为单位)。 FwpsAllocateNetBufferAndNetBufferList0 函数将此值添加到 ContextSize 参数中指定的值,并分配额外的空间。 此参数的值必须是由 MEMORY_ALLOCATION_ALIGNMENT定义的值的倍数。
[in, optional] mdlChain
指向用于初始化预先分配NET_BUFFER结构的 MDL 链的指针。 此参数是可选的,可以 NULL。
[in] dataOffset
从缓冲区开头到 MDL 链中已用数据空间开始的初始偏移量(以字节为单位)。 在此偏移量之前的数据空间是未使用的数据空间。 因此,此值还表示 MDL 链中可用回填空间的初始量。
[in] dataLength
MDL 链中已用数据空间的长度(以字节为单位)。
[out] netBufferList
指向接收指向新 NET_BUFFER_LIST 结构的指针的变量的指针。
返回值
FwpsAllocateNetBufferAndNetBufferList0 函数返回以下 NTSTATUS 代码之一。
返回代码 | 描述 |
---|---|
|
已成功分配新的 NET_BUFFER_LIST 结构。 |
|
发生错误。 |
言论
标注驱动程序调用 FwpsAllocateNetBufferAndNetBufferList0 函数来分配新的 NET_BUFFER_LIST 结构。
此函数是围绕 NdisAllocateNetBufferAndNetBufferList 函数,但它专用于粮食计划署 数据包注入函数。
新 NET_BUFFER_LIST 结构描述的数据成功注入网络堆栈后,标注驱动程序通过调用 释放新的 NET_BUFFER_LIST 结构 FwpsFreeNetBufferList0 函数。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows Vista 开始可用。 |
目标平台 | 普遍 |
标头 | fwpsk.h (包括 Fwpsk.h) |
库 | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |