WmiQueryTraceInformation 関数 (wdm.h)

WmiQueryTraceInformation ルーチンは、WMI イベント トレースに関する情報を返します。

構文

NTSTATUS WmiQueryTraceInformation(
  [in]            TRACE_INFORMATION_CLASS TraceInformationClass,
  [out]           PVOID                   TraceInformation,
  [in]            ULONG                   TraceInformationLength,
  [out, optional] PULONG                  RequiredLength,
  [in, optional]  PVOID                   Buffer
);

パラメーター

[in] TraceInformationClass

イベント トレースについて返 す情報の種類を示すTRACE_INFORMATION_CLASS列挙子を指定します。

[out] TraceInformation

呼び出し元によって割り当てられた出力バッファーへのポインター。この場合、ルーチンは TraceInformationClass で指定されたイベント トレース情報を返します。

[in] TraceInformationLength

TraceInformation バッファーのサイズをバイト単位で指定します。

[out, optional] RequiredLength

TraceInformation バッファーの必要なサイズ (バイト単位) を指定するルーチンによって返される値へのポインター。 必要な長さの情報を使用しない場合、呼び出し元は RequiredLengthを NULL に設定する必要があります。

[in, optional] Buffer

呼び出し元が提供するクエリ固有の入力情報へのポインター。 呼び出し元から提供された情報が必要ない場合、呼び出し元は BufferNULL に設定する必要があります。

戻り値

リターン コード 説明
STATUS_SUCCESS
Success
STATUS_INFO_LENGTH_MISMATCH
TraceInformation バッファーのサイズが、指定したイベント トレース情報に必要なサイズと等しくありません。
STATUS_INVALID_HANDLE
(PWNODE_HEADER)BufferHistoricalContext メンバーによって指定されたトレース ハンドルが無効です。
STATUS_INVALID_INFO_CLASS
指定した種類のイベント トレース情報が無効です。
STATUS_INVALID_PARAMETER
名前が指定されたトレース ハンドルを返すクエリで指定されたイベント トレースの名前が無効です。
STATUS_INVALID_PARAMETER_MIX
呼び出し元は、指定されたイベント トレース情報に必要な情報を提供しませんでした。
STATUS_MORE_ENTRIES
TraceInformation バッファーは、すべての有効なイベント トレース ハンドルの配列を保持するのに十分な大きさではありません。
STATUS_NOT_FOUND
グローバル ロガーが見つかりませんでした。

注釈

TraceInformationClass で指定されたイベント トレース情報の種類ごとに、次の表に示します。

  • 入力の要件
  • TraceInformation バッファーで WmiQueryTraceInformation が返す情報
TraceClassInformation の 入力の要件 返される情報
TraceIdClass TraceInformationLengthsizeof(ULONG) の値と等しくなります。

TraceInformation バッファーのサイズ (バイト単位) は、sizeof(ULONG) の値以上です。

(PWNODE_HEADER)Buffer HistoricalContext メンバーは、イベント トレース ハンドルを指定します。

*(PULONG)TraceInformation は、イベント トレース ハンドルのロガー ID に設定されます。
TraceHandleClass TraceInformationLengthsizeof(TRACEHANDLE) の値と等しくなります。

TraceInformation バッファーのサイズ (バイト単位) は、sizeof(TRACEHANDLE) の値以上である必要があります。

*(PULONG)Buffer はロガー ID に設定されています。

*(PTRACEHANDLE)TraceInformation は、指定されたロガーのイベント トレース ハンドルに設定されます。 指定したロガー ID が 0 の場合は、カーネル ロガーのイベント トレース ハンドルが返されます。
TraceEnableFlagsClass TraceInformationLengthsizeof(ULONG) の値以上です。

TraceInformation バッファーのサイズ (バイト単位) は、sizeof(ULONG) の値以上である必要があります。

(PWNODE_HEADER)Buffer HistoricalContext メンバーは、イベント トレース ハンドルを指定します。

*(PULONG)TraceInformation は、指定されたイベント トレース ハンドルに設定されている有効フラグに設定されます。
TraceEnableLevelClass TraceInformationLengthsizeof(ULONG) の値以上に設定されています。

TraceInformation バッファーのサイズ (バイト単位) は、sizeof(ULONG) の値以上である必要があります。

(PWNODE_HEADER)Buffer HistoricalContext メンバーは、イベント トレース ハンドルを指定します。

*(PULONG)TraceInformation は、指定されたイベント トレース ハンドルのレベルに設定されます。
GlobalLoggerHandleClass TraceInformationLengthsizeof(TRACEHANDLE) の値と等しくなります。

TraceInformation バッファーのサイズ (バイト単位) は、sizeof(TRACEHANDLE) の値以上である必要があります。

*(PTRACEHANDLE)TraceInformation は、グローバル ロガーのイベント トレース ハンドルに設定されます。
EventLoggerHandleClass 内部使用のみ。 内部使用のみ。
AllLoggerHandlesClass TraceInformationLength は、 m TRACEHANDLE 値の配列のサイズ (バイト) に設定されます。

TraceInformation バッファーのサイズ (バイト単位) は、 (m*sizeof(TRACEHANDLE)) の値以上である必要があります。

TraceInformation バッファーには、n 個のトレース ハンドルの配列が含まれています。ここで、n最小の m、呼び出し元から提供されたイベント トレース ハンドルの数、および有効なイベント トレース ハンドルの数です。 TraceInformation バッファーが小さすぎてすべてのトレース ハンドルを保持しない場合、ルーチンは STATUS_MORE_ENTRIES の状態を返します。
TraceHandleByNameClass TraceInformationLengthsizeof(TRACEHANDLE) の値に設定されます。

TraceInformation バッファーのサイズ (バイト単位) は、sizeof(TRACEHANDLE) の値以上である必要があります。

(PUNICODE_STRING)Buffer は、Unicode 形式のわかりやすいトレース名を指定します。

*(PTRACEHANDLE)TraceInformation は、指定されたフレンドリ名に関連付けられているイベント トレース ハンドルに設定されます。
 

呼び出し元が NULL 以外の RequiredLength ポインターを指定した場合、WmiQueryTraceInformation は、指定されたイベント トレース情報に必要な長さを返します。

WmiQueryTraceInformation は、呼び出し元の 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

WmiTraceMessage

WmiTraceMessageVa