次の方法で共有


IoSetActivityIdIrp 関数 (ntddk.h)

IoSetActivityIdIrp ルーチンは、アクティビティ ID を IRP に関連付けます。

構文

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

パラメーター

[in] Irp

アクティビティ ID を関連付ける IRP。

[in, optional] Guid

IRP に格納する ID を表す GUID へのポインター。 NULL の場合、IoSetActivityIdIrp は、最初に要求を発行したスレッドである場合、現在のスレッドからアクティビティ ID の取得を試みます。

戻り値

IoSetActivityIdIrp は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 考えられるエラー戻り値は次のとおりです。

リターン コード 形容
STATUS_NOT_SUPPORTED GUID が指定されておらず、ETW アクティビティ ID が使用できませんでした。
STATUS_UNSUCCESSFUL I/O トレース プロバイダーが IRP で有効になっていません。

備考

ドライバーでは、IoAllocateIrp を使用して割り当てられた IRP でのみ IoSetActivityIdIrp を使用する必要があります (IoFreeIrpを使用して解放されます)。 そうしないと、メモリリークが発生する可能性があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 8 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー ntddk.h (Ntddk.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL GUID が渡された場合は任意のレベル。それ以外の場合はPASSIVE_LEVEL。