IoPropagateActivityIdToThread 例程會將來自 IRP 的活動識別碼與目前的線程產生關聯。
語法
NTSTATUS IoPropagateActivityIdToThread(
[in] PIRP Irp,
[out] LPGUID PropagatedId,
LPCGUID *OriginalId
);
參數
[in] Irp
標識碼將傳播至線程的 IRP。
[out] PropagatedId
呼叫端配置的記憶體指標,用來將標識符儲存在線程中。
OriginalId
成功從呼叫傳回時,保留先前在線程上設定的標識符。 驅動程式必須在相同的線程內容內完成追蹤時,使用這個指標呼叫 IoClearActivityIdThread。
傳回值
如果呼叫成功,IoPropagateActivityIdToThread 會傳回STATUS_SUCCESS。 可能的錯誤傳回值包括下列專案。
傳回碼 | 描述 |
---|---|
STATUS_NOT_FOUND | IRP 沒有與其相關聯的標識碼。 |
言論
此例程應該由追蹤感知的驅動程式使用,並在背景工作線程上發出I/O。 請注意,如果呼叫成功,這類驅動程式必須先使用 OriginalId 呼叫 IoClearActivityIdThread,才能從線程傳回控制權。
使用 I/O 工作專案的驅動程式不需要呼叫此例程,因為 I/O 子系統會負責在該情況下將活動標識碼傳播至線程。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始提供。 |
目標平臺 | 普遍 |
標頭 | ntddk.h (包括 Ntddk.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何層級 |