次の方法で共有


WmiTraceMessageVa 関数 (wdm.h)

WmiTraceMessageVa ルーチンは、WPP ソフトウェア トレース セッションの出力ログにメッセージを追加します。

構文

NTSTATUS WmiTraceMessageVa(
  [in] TRACELOGGER_HANDLE LoggerHandle,
  [in] ULONG              MessageFlags,
  [in] LPCGUID            MessageGuid,
  [in] USHORT             MessageNumber,
  [in] va_list            MessageArgList
);

パラメーター

[in] LoggerHandle

ソフトウェア トレース セッションのトレース ハンドルを指定します。

[in] MessageFlags

1 つ以上のメッセージ フラグのビットごとの OR を指定します。 詳細については、「解説」を参照してください。

[in] MessageGuid

ソフトウェア トレース クラスを識別する GUID を指定します。

[in] MessageNumber

メッセージのサブタイプを識別します。 サブタイプの意味は、ソフトウェア トレース クラスとプロバイダーに固有です。

[in] MessageArgList

メッセージ パーツのセットを指定するメッセージ パラメーターの必須リストを提供します。 パラメーターは、パラメーター ペアのシーケンスとして編成され、各ペアは完全なメッセージの 1 つの部分を指定します。 各パラメーター ペアは、データへの PVOID ポインターで構成され、その直後にデータの長さを指定する ULONG 値が続きます。 パラメーター リストは 、NULL PVOID ポインターの後に ULONG(0) が続く必要があります。

戻り値

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

リターン コード 説明
STATUS_SUCCESS
操作は正常に完了しました。
STATUS_INVALID_HANDLE
LoggerHandle は有効なソフトウェア トレース ハンドルではありません。
STATUS_NO_MEMORY
メッセージをログに記録するためのバッファー メモリが不足しています。 詳細については、次の「解説」を参照してください。
その他の NTSTATUS 値
内部エラーが発生しました。

注釈

呼び出し元は 、WmiTraceMessage または WmiTraceMessageVa を使用して、WPP ソフトウェア トレース セッションの出力ログにメッセージを追加できます。 WmiTraceMessage は、WmiTraceMessageVa を呼び出す前に変数リスト メカニズムを処理することで、呼び出し元 のコードを簡略化します。

呼び出し元は、次のメッセージ フラグを設定できます。

フラグ 説明
TRACE_MESSAGE_SEQUENCE メッセージにシーケンス番号を含めます。 メッセージ シーケンスは、 LoggerHandle で指定されたソフトウェア トレース セッションに対して有効になっている場合にのみ使用できます。
TRACE_MESSAGE_GUID MessageGuid は、ソフトウェア トレース クラスを識別する GUID を指定します。 このフラグは設定する必要があります。
TRACE_MESSAGE_TIMESTAMP メッセージにタイム スタンプを含めます。
TRACE_MESSAGE_PERFORMANCE_TIMESTAMP このフラグは実装されておらず、 廃止されています。 使用しないでください。
TRACE_MESSAGE_SYSTEMINFO スレッド識別子 (TID) とプロセス識別子 (PID) をメッセージに含めます。
 

次のいずれかが true の場合、WmiTraceMessageVa はメッセージをログに記録しません。

  • メッセージ データとメッセージ ヘッダーの合計サイズ (バイト単位) は、ソフトウェア トレース セッションに割り当てられた個々のメッセージ バッファーのサイズを超えています。 (メッセージ ヘッダーの最大サイズは 48 バイトです)。
  • ソフトウェア トレース セッションに割り当てられているすべてのメッセージ バッファーがいっぱいです。
WmiTraceMessageVa は 、呼び出し元の IRQL で実行されます。

要件

要件
サポートされている最小のクライアント Windows XP 以降のバージョンの Windows で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL 「解説」を参照してください。

こちらもご覧ください

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiQueryTraceInformation

WmiTraceMessage