IoInitializeWorkItem 函式 (wdm.h)
IoInitializeWorkItem 例程會初始化呼叫端已配置的工作專案。
語法
void IoInitializeWorkItem(
[in] PVOID IoObject,
[in] PIO_WORKITEM IoWorkItem
);
參數
[in] IoObject
呼叫端驅動程式物件的指標或呼叫端的其中一個裝置物件。 如果呼叫端稍後會將工作項目傳遞至 ioQueueWorkItem ,IoObject 必須指向裝置物件。
[in] IoWorkItem
要初始化之 IO_WORKITEM 結構的指標。
傳回值
沒有
言論
驅動程式會為 IO_WORKITEM 結構配置自己的記憶體,然後呼叫 IoInitializeWorkItem 將其初始化。 記憶體必須從非分頁集區配置。 若要判斷保存
ioInitializeWorkItem
IoAllocateWorkItem相關的例程會配置和初始化工作專案。 藉由將配置和初始化合併成單一呼叫,IoAllocateWorkItem,某些驅動程式可能比 IoInitializeWorkItem更方便使用,而該驅動程式只會進行初始化。 不過,IoInitializeWorkItem,驅動程式必須初始化先前配置的記憶體中的工作專案。
例如,驅動程式可能會為工作專案集區配置記憶體區塊。 驅動程式可以呼叫 ioInitializeWorkItem ,以在從集區配置工作專案時初始化工作專案。 驅動程式可以呼叫 IoUninitializeWorkItem,以在工作專案傳回集區時取消初始化工作專案。 在集區的初始記憶體配置期間,驅動程式可以呼叫 IoSizeofWorkitem,以判斷要為每個工作專案配置多少記憶體。
如需工作項目的詳細資訊,請參閱 系統背景工作線程。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 和更新版本的 Windows。 |
目標平臺 | 普遍 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何層級 |