NdisAllocateFromNPagedLookasideList 宏 (ndis.h)

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

语法

void NdisAllocateFromNPagedLookasideList(
   _L
);

参数

_L

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

返回值

备注

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

从非页面查看列表分配的所有条目都具有固定大小,这是在驱动程序最初调用 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) ) 。
目标平台 桌面
标头 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 Irql_Miscellaneous_Function (ndis) 、NdisAllocateFromNPagedLookasideList (ndis) 、NdisAllocateFromNPagedLookasideList_InitFail (ndis)

另请参阅

NdisDeleteNPagedLookasideList NdisFreeToNPagedLookasideList NdisInitializeNPagedLookasideList