共用方式為


IoPropagateActivityIdToThread 函式 (ntddk.h)

IoPropagateActivityIdToThread 例程會將來自 IRP 的活動標識碼與目前的線程產生關聯。

語法

NTSTATUS IoPropagateActivityIdToThread(
  [in]  PIRP    Irp,
  [out] LPGUID  PropagatedId,
        LPCGUID *OriginalId
);

參數

[in] Irp

標識碼會傳播至線程的 IRP。

[out] PropagatedId

呼叫端所配置的記憶體指標,用來將標識符儲存在線程中。

OriginalId

成功從呼叫傳回時,會保留先前在線程上設定的標識碼。 驅動程式必須在相同的線程內容內完成追蹤時,使用這個指標呼叫 IoClearActivityIdThread

傳回值

如果呼叫成功,IoPropagateActivityIdToThread 會傳回STATUS_SUCCESS。 可能的錯誤傳回值包括下列專案。

傳回碼 Description
STATUS_NOT_FOUND IRP 沒有與其相關聯的標識碼。

備註

此例程應該由追蹤感知的驅動程式使用,並在背景工作線程上發出I/O。 請注意,如果呼叫成功,這類驅動程式必須先使用 OriginalId 呼叫 IoClearActivityIdThread,才能從線程傳回控制權。

使用 I/O 工作專案的驅動程式不需要呼叫此例程,因為 I/O 子系統負責將該案例中的活動標識碼傳播至線程。

規格需求

需求
最低支援的用戶端 從 Windows 8 開始提供。
目標平台 Universal
標頭 ntddk.h (包含 Ntddk.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 任何層級