IoSetActivityIdIrp 函数 (ntddk.h)
IoSetActivityIdIrp 例程将活动 ID 与 IRP 相关联。
语法
NTSTATUS IoSetActivityIdIrp(
[in] PIRP Irp,
[in, optional] LPCGUID Guid
);
参数
[in] Irp
要与之关联的活动 ID 的 IRP。
[in, optional] Guid
指向 GUID 的指针,该 GUID 表示要存储在 IRP 中的 ID。 如果为 NULL,IoSetActivityIdIrp 会尝试从当前线程检索活动 ID(如果最初发出请求的线程)。
返回值
如果调用成功,IoSetActivityIdIrp 将返回STATUS_SUCCESS。 可能的错误返回值包括以下内容。
返回代码 | 说明 |
---|---|
STATUS_NOT_SUPPORTED | 未提供 GUID,ETW 活动 ID 不可用。 |
STATUS_UNSUCCESSFUL | 尚未在 IRP 上启用 I/O 跟踪提供程序。 |
注解
驱动程序应仅在已使用 IoAllocateIrp (分配的 IRP 上使用 IoSetActivityIdIrp,并使用 IoFreeIrp) 释放。 否则,可能会导致内存泄漏。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从Windows 8开始可用。 |
目标平台 | 通用 |
标头 | ntddk.h (包括 Ntddk.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 如果传入了 GUID,则为任意级别,否则PASSIVE_LEVEL。 |