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 裝置句柄,當驅動程式呼叫 NdisRegisterDeviceEx 時傳回的 NDIS 裝置句柄。 NdisAllocateIoWorkItem 會取得與句柄相關聯的裝置對象或驅動程序物件,並將裝置對象或驅動程式對象傳遞至 IoAllocateWorkItem 函式。
NDIS 驅動程式必須呼叫 NdisFreeIoWorkItem 函式,以釋放 與 NdisAllocateIoWorkItem 配置的工作專案相關聯的資源。
驅動程式可以在傳遞至 NdisQueueIoWorkItem 的回呼例程中呼叫 NdisFreeIoWorkItem。
如果迷你埠驅動程式在呼叫 NdisAllocateIoWorkItem 時使用了傳遞至 MiniportInitializeEx 的 NDIS 句柄,則必須在驅動程式 MiniportHaltEx 函式的呼叫中釋放工作專案。
如果迷你埠驅動程式使用 NdisMRegisterMiniportDriver 在驅動程式呼叫 NdisAllocateIoWorkItem 時傳回的句柄,驅動程式必須在驅動程式卸除之前釋出工作專案。
一般而言,驅動程式必須先釋放工作專案,才能卸除驅動程式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
目標平台 | Universal |
標頭 | ndis.h (包含 Ndis.h) |
程式庫 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 合規性規則 | Init_NdisAllocateIoWorkItem (ndis) 、 Irql_Miscellaneous_Function (ndis) |