NdisAllocateFromNPagedLookasideList 宏 (ndis.h)
NdisAllocateFromNPagedLookasideList 函数从给定的 lookaside 列表头中删除第一个条目。 如果 lookaside 列表当前为空,则从非分页池分配一个条目。
语法
void NdisAllocateFromNPagedLookasideList(
_L
);
参数
_L
指向将从中分配条目的查找列表的头的指针。 调用方已使用
返回值
没有
言论
如果 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) |