FltPropagateActivityIdToThread function (fltkernel.h)

The FltPropagateActivityIdToThread routine associates the activity ID from the IRP in the minifilter's callback data with the current thread.

Syntax

NTSTATUS FLTAPI FltPropagateActivityIdToThread(
  [in]     PFLT_CALLBACK_DATA CallbackData,
  [in/out] LPGUID             PropagateId,
  [out]    LPCGUID            *OriginalId
);

Parameters

[in] CallbackData

Pointer to the callback data containing the request with an associated activity ID.

[in/out] PropagateId

Pointer to a caller allocated GUID that stores the activity ID for the current thread.

[out] OriginalId

On return, the GUID pointer referenced by OriginalId points to the activity ID that was previously set for the thread.

Return value

FltPropagateActivityIdToThread returns one of the following NTSTATUS values.

Return code Description
STATUS_NOT_SUPPORTED The callback data does not contain a request for an IRP operation.
STATUS_NOT_FOUND No activity ID is associated with the request in CallbackData.
STATUS_SUCCESS An activity ID was returned in the GUID value pointed to by OriginalId.

Remarks

The FltPropagateActivityIdToThread routine is used by trace aware minifilters. A minifilter uses this routine to attach the activity ID from an IRP to a worker thread processing I/O for the request.

A minifilter must call IoClearActivityIdThread with the pointer in OriginalId before returning control from the worker thread if the call to FltPropagateActivityIdToThread was successful.

Requirements

Requirement Value
Minimum supported client Available starting with Windows 8.
Target Platform Universal
Header fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
DLL Fltmgr.sys
IRQL <= DISPATCH_LEVEL

See also

FltGetActivityIdCallbackData

FltSetActivityIdCallbackData