次の方法で共有


FltPropagateActivityIdToThread 関数 (fltkernel.h)

FltPropagateActivityIdToThread ルーチンは、ミニフィルターのコールバック データ内の IRP のアクティビティ ID を現在のスレッドに関連付けます。

構文

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

パラメーター

[in] CallbackData

関連付けられたアクティビティ ID を持つ要求を含むコールバック データへのポインター。

[in/out] PropagateId

現在のスレッドのアクティビティ ID 格納する呼び出し元に割り当てられた GUID へのポインター。

[out] OriginalId

戻り時に、OriginalId によって参照される GUID ポインターは、スレッドに対して以前に設定されたアクティビティ ID を指します。

戻り値

FltPropagateActivityIdToThread は、次のいずれかの NTSTATUS 値を返します。

リターン コード 説明
STATUS_NOT_SUPPORTED コールバック データには、IRP 操作の要求が含まれていません。
STATUS_NOT_FOUND CallbackData の要求にアクティビティ ID が関連付けられていない。
STATUS_SUCCESS OriginalId が指す GUID 値でアクティビティ ID が返されました。

注釈

FltPropagateActivityIdToThread ルーチンは、トレース対応ミニフィルターによって使用されます。 ミニフィルターは、このルーチンを使用して、要求の I/O を処理するワーカー スレッドに IRP からアクティビティ ID をアタッチします。

FltPropagateActivityIdToThread の呼び出しが成功した場合、ミニフィルターは、ワーカー スレッドから制御を返す前に、OriginalId 内のポインターを使用して IoClearActivityIdThread を呼び出す必要があります。

要件

要件
サポートされている最小のクライアント Windows 8 以降で使用できます。
対象プラットフォーム ユニバーサル
Header fltkernel.h (Fltkernel.h を含む)
Library FltMgr.lib
[DLL] Fltmgr.sys
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

FltGetActivityIdCallbackData

FltSetActivityIdCallbackData