NdisAllocateIoWorkItem 函数 (ndis.h)
NDIS 驱动程序调用 NdisAllocateIoWorkItem 函数来分配工作项。 有关详细信息,请参阅 NDIS I/O 工作项。
语法
NDIS_HANDLE NdisAllocateIoWorkItem(
[in] NDIS_HANDLE NdisObjectHandle
);
参数
[in] NdisObjectHandle
与设备对象或驱动程序对象关联的 NDIS 对象的句柄。
返回值
如果 NdisAllocateIoWorkItem 成功分配工作项,它将返回工作项的句柄。 如果失败, NdisAllocateIoWorkItem 将返回 NULL。
注解
NDIS 微型端口驱动程序传递 NdisAllocateIoWorkItem 中的两个句柄之一:NDIS 传递给 MiniportInitializeEx 函数的适配器句柄,或 NDIS 在微型端口驱动程序调用时返回的微型端口驱动程序句柄 NdisMRegisterMiniportDriver。
NDIS 筛选器驱动程序可以传递 NdisAllocateIoWorkItem 筛选器驱动程序在筛选器驱动程序调用 NdisFRegisterFilterDriver 时 NDIS 返回的筛选器驱动程序句柄。
NDIS 微型端口驱动程序和筛选器驱动程序还可以传递 NdisAllocateIoWorkItem NDIS 设备句柄,该 NDIS 设备句柄在驱动程序调用 NdisRegisterDeviceEx 时返回。 NdisAllocateIoWorkItem 获取与句柄关联的设备对象或驱动程序对象,并将设备对象或驱动程序对象传递给 IoAllocateWorkItem 函数。
NDIS 驱动程序必须调用 NdisFreeIoWorkItem 函数,以释放与 NdisAllocateIoWorkItem 分配的工作项关联的资源。
驱动程序可以在传递给 NdisQueueIoWorkItem 的回调例程中调用 NdisFreeIoWorkItem。
如果微型端口驱动程序在调用 NdisAllocateIoWorkItem 时使用了 NDIS 传递给 MiniportInitializeEx 的句柄,则必须在调用驱动程序 MiniportHaltEx 函数之前或调用中释放工作项。
如果微型端口驱动程序使用 NdisMRegisterMiniportDriver 在驱动程序调用 NdisAllocateIoWorkItem 时返回的句柄,则驱动程序必须在驱动程序卸载之前释放工作项。
通常,驱动程序必须在卸载驱动程序之前释放工作项。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.0 及更高版本中受支持。 |
目标平台 | 通用 |
标头 | ndis.h (包括 Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | Init_NdisAllocateIoWorkItem (ndis) 、 Irql_Miscellaneous_Function (ndis) |