NdisAllocateFromNPagedLookasideList 宏 (ndis.h)

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

语法

void NdisAllocateFromNPagedLookasideList(
   _L
);

参数

_L

指向将从中分配条目的查找列表的头的指针。 The caller already initialized the list head with the NdisInitializeNPagedLookasideList 函数。

返回值

备注

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

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

要求

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

另请参阅

NdisDeleteNPagedLookasideList NdisFreeToNPagedLookasideList NdisInitializeNPagedLookasideList