IoSetActivityIdIrp 函数 (ntddk.h)
IoSetActivityIdIrp 例程将活动 ID 与 IRP 相关联。
语法
NTSTATUS IoSetActivityIdIrp(
[in] PIRP Irp,
[in, optional] LPCGUID Guid
);
参数
[in] Irp
要与之关联的活动 ID 的 IRP。
[in, optional] 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) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 如果传入 GUID,则为任何级别,否则PASSIVE_LEVEL。 |