NdisAllocateFromNPagedLookasideList 宏 (ndis.h)

NdisAllocateFromNPagedLookasideList 函数从给定的 lookaside 列表头中删除第一个条目。 如果 lookaside 列表当前为空,则从非分页池分配一个条目。

语法

void NdisAllocateFromNPagedLookasideList(
   _L
);

参数

_L

指向将从中分配条目的查找列表的头的指针。 调用方已使用 初始化列表头 NdisInitializeNPagedLookasideList 函数。

返回值

没有

言论

如果 lookaside 列表不为空,NdisAllocateFromNPagedLookasideList 从列表中删除第一个条目,并将其地址返回到调用方。 如果 lookaside 列表为空,NdisAllocateFromNPagedLookasideList 调用在 Allocate 参数中指定的 Allocate 函数 NdisInitializeNPagedLookasideList 函数,即在列表初始化中指定的调用方(如果有)或代表调用方分配条目。 NdisAllocateFromNPagedLookasideList 如果调用方提供的 Allocate 函数(如果有)或此函数本身无法分配非分页条目,则返回 null

从非分页外观列表中分配的所有条目都是固定大小的,在驱动程序最初调用 NdisInitializeNPagedLookasideList时指定。 因此,外观列表对于必须分配固定大小的块的驱动程序特别有用,这些块用于维护状态以响应动态 I/O 需求。 例如,任何面向连接的 NDIS 驱动程序都可以在创建 VC 时从外观列表中分配所需的 VC 上下文区域,并使用 将每个此类条目释放回外观列表 NdisFreeToNPagedLookasideList 函数,因为每个 VC 被拆毁。

要求

要求 价值
最低支持的客户端 Windows Vista 中支持 NDIS 6.0 和 NDIS 5.1 驱动程序(请参阅 NdisAllocateFromNPagedLookasideList (NDIS 5.1) 。 支持 NDIS 5.1 驱动程序(请参阅 Windows XP 中的 NdisAllocateFromNPagedLookasideList (NDIS 5.1) 。
目标平台 桌面
标头 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 Irql_Miscellaneous_Function(ndis),NdisAllocateFromNPagedLookasideList(ndis),NdisAllocateFromNPagedLookasideList_InitFail(ndis)

另请参阅

NdisDeleteNPagedLookasideList NdisFreeToNPagedLookasideList NdisInitializeNPagedLookasideList