EtwWriteTransfer 関数 (wdm.h)
EtwWriteTransfer 関数は、2 つのアクティビティをリンクするイベントをマークします。この種類のイベントは、転送イベントと呼ばれます。 転送イベントには、同じユーザー定義データと同じフィールドを含めることができます。また、他のイベントと同じルールが適用されます。
構文
NTSTATUS EtwWriteTransfer(
[in] REGHANDLE RegHandle,
[in] PCEVENT_DESCRIPTOR EventDescriptor,
[in, optional] LPCGUID ActivityId,
[in, optional] LPCGUID RelatedActivityId,
[in] ULONG UserDataCount,
[in, optional] PEVENT_DATA_DESCRIPTOR UserData
);
パラメーター
[in] RegHandle
イベント プロバイダー登録ハンドルへのポインター。イベント プロバイダーの登録が成功した場合に EtwRegister 関数によって返されます。
[in] EventDescriptor
EVENT_DESCRIPTOR構造体へのポインター。
[in, optional] ActivityId
イベントに関連付けられているアクティビティを示す識別子。 ActivityId は、関連するイベントをグループ化する方法を提供し、エンドツーエンドのトレースで使用されます。 この識別子は省略可能であり、 NULL にすることができます。
[in, optional] RelatedActivityId
イベントに関連付けられている関連アクティビティを示す識別子。 RelatedActivityID は、関連イベントをグループ化する方法を提供し、エンドツーエンドのトレースで使用されます。
[in] UserDataCount
EVENT_DATA_DESCRIPTOR構造体の配列内の要素の数。
[in, optional] UserData
EVENT_DATA_DESCRIPTOR構造体の配列内の最初の要素へのポインター。
戻り値
EtwWriteTransfer は、イベントが正常に発行された場合にSTATUS_SUCCESSを返します。
注釈
任意の IRQL で EtwWriteTransfer を 呼び出すことができます。 ただし、IRQL がAPC_LEVELより大きい場合、EtwWrite、EtwWriteString、EtwWriteTransfer 関数に渡されるデータはページングできません。 つまり、APC_LEVELより大きい IRQL で実行されているカーネル モード ルーチンは、ページング可能なメモリにアクセスできません。 EtwWrite、EtwWriteString、EtwWriteTransfer 関数に渡されるデータは、IRQL の内容に関係なく、システム空間メモリ内に存在する必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe;Ntdll.dll |
IRQL | 任意のレベル (「コメント」セクションを参照) |