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 | 任何層級 |