IoInitializeWorkItem 函式 (wdm.h)

IoInitializeWorkItem 例程會初始化呼叫端已配置的工作專案。

語法

void IoInitializeWorkItem(
  [in] PVOID        IoObject,
  [in] PIO_WORKITEM IoWorkItem
);

參數

[in] IoObject

呼叫端驅動程式物件的指標或呼叫端的其中一個裝置物件。 如果呼叫端稍後會將工作項目傳遞至 IoQueueWorkItem,IoObject 必須指向裝置物件。

[in] IoWorkItem

要初始化 之IO_WORKITEM 結構的指標。

傳回值

備註

驅動程式會為 IO_WORKITEM 結構配置自己的記憶體,然後呼叫 IoInitializeWorkItem 將其初始化。 記憶體必須從非分頁集區配置。 若要判斷保存 IO_WORKITEM 結構所需的位元元組數目,請呼叫 IoSizeofWorkItem

IoInitializeWorkItem 初始化的IO_WORKITEM結構,必須先IoUninitializeWorkItem取消初始化,才能釋放它。

相關的例程 IoAllocateWorkItem 會配置和初始化工作專案。 藉由將配置和初始化結合成單一呼叫, IoAllocateWorkItem 可能會讓某些驅動程式使用比 IoInitializeWorkItem 更方便,這隻會進行初始化。 不過,驅動程式需要 IoInitializeWorkItem ,這些驅動程式必須在先前配置的記憶體中初始化工作專案。

例如,驅動程式可能會為工作專案的集區配置記憶體區塊。 當工作專案從集區配置時,驅動程式可以呼叫 IoInitializeWorkItem 來初始化工作專案。 驅動程式可以在將工作項目傳回集區時,呼叫 IoUninitializeWorkItem 來取消初始化工作專案。 在集區的初始記憶體配置期間,驅動程式可以呼叫 IoSizeofWorkitem 來判斷要為每個工作專案配置多少記憶體。

如需工作專案的詳細資訊,請參閱 系統背景工作線程

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 中使用。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 任何層級

另請參閱

IO_WORKITEM

IoAllocateWorkItem

IoQueueWorkItem

IoQueueWorkItemEx

IoSizeofWorkItem

IoUninitializeWorkItem