共用方式為


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。
目標平臺 普遍
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何層級

另請參閱

IO_WORKITEM

IoAllocateWorkItem

IoQueueWorkItem

IoQueueWorkItemEx

IoSizeofWorkItem

IoUninitializeWorkItem