IoSetActivityIdIrp function (ntddk.h)

The IoSetActivityIdIrp routine associates an activity ID with an IRP.

Syntax

NTSTATUS IoSetActivityIdIrp(
  [in]           PIRP    Irp,
  [in, optional] LPCGUID Guid
);

Parameters

[in] Irp

The IRP to associate the activity ID with.

[in, optional] Guid

A pointer to the GUID that represents the ID to store in the IRP. If NULL, IoSetActivityIdIrp attempts to retrieve the activity ID from the current thread if it was the thread that originally issued the request.

Return value

IoSetActivityIdIrp returns STATUS_SUCCESS if the call is successful. Possible error return values include the following.

Return code Description
STATUS_NOT_SUPPORTED No GUID was provided and the ETW activity ID was unavailable.
STATUS_UNSUCCESSFUL The I/O tracing provider has not been enabled on the IRP.

Remarks

Drivers should use IoSetActivityIdIrp only on IRPs that have been allocated using IoAllocateIrp (and freed using IoFreeIrp). Otherwise, memory leakage may result.

Requirements

Requirement Value
Minimum supported client Available starting with Windows 8.
Target Platform Universal
Header ntddk.h (include Ntddk.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Any level if a GUID is passed in, otherwise PASSIVE_LEVEL.