次の方法で共有


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 (および IoFreeIrp を使用して解放) を使用して割り当てられた IRP でのみ IoSetActivityIdIrp を使用する必要があります。 そうしないと、メモリリークが発生する可能性があります。

要件

要件
サポートされている最小のクライアント Windows 8以降で使用できます。
対象プラットフォーム ユニバーサル
Header ntddk.h (Ntddk.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL GUID が渡された場合は任意のレベル。それ以外の場合はPASSIVE_LEVEL。