共用方式為


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

呼叫端提供的查詢特定輸入資訊的指標。 如果不需要呼叫端提供的資訊,呼叫端應將 緩衝區 設定為 NULL

傳回值

傳回碼 描述
STATUS_SUCCESS
成功
STATUS_INFO_LENGTH_MISMATCH
TraceInformation 緩衝區的大小不等於指定事件追蹤資訊所需的大小。
STATUS_INVALID_HANDLE
HistoricalContext 成員所指定的追蹤句柄 PWNODE_HEADERBuffer 無效。
STATUS_INVALID_INFO_CLASS
指定的事件追蹤資訊類型無效。
STATUS_INVALID_PARAMETER
提供查詢來傳回指定其名稱之追蹤句柄的事件追蹤名稱無效。
STATUS_INVALID_PARAMETER_MIX
呼叫端未提供指定事件追蹤資訊所需的資訊。
STATUS_MORE_ENTRIES
TraceInformation 緩衝區不夠大,無法保存所有有效事件追蹤句柄的陣列。
STATUS_NOT_FOUND
找不到全域記錄器。

言論

下表提供 TraceInformationClass所指定的每種事件追蹤資訊類型:

  • 輸入需求
  • WmiQueryTraceInformationTraceInformation 緩衝區中傳回的資訊
traceClassInformation 的值 輸入需求 傳回的資訊
TraceIdClass TraceInformationLength 等於 sizeof(ULONG) 的值。

TraceInformation 緩衝區的大小大於或等於 sizeof(ULONG) 的值。

HistoricalContext PWNODE_HEADER 成員Buffer 指定事件追蹤句柄。

*(PULONG)TraceInformation 設定為事件追蹤句柄的記錄器標識符。
TraceHandleClass TraceInformationLength 等於 sizeof(TRACEHANDLE) 的值。

TraceInformation 緩衝區的大小必須大於或等於 sizeof(TRACEHANDLE) 的值。

*(PULONG)Buffer 設定為記錄器識別碼。

*(PTRACEHANDLE)TraceInformation 會設定為指定記錄器的事件追蹤句柄。 如果指定的記錄器標識碼為零,則會傳回核心記錄器的事件追蹤句柄。
TraceEnableFlagsClass TraceInformationLength 大於或等於 sizeof(ULONG) 的值。

TraceInformation 緩衝區的大小必須大於或等於 sizeof(ULONG) 的值。

HistoricalContext PWNODE_HEADER 成員Buffer 指定事件追蹤句柄。

*(PULONG)TraceInformation 設定為指定事件追蹤句柄設定的啟用旗標。
TraceEnableLevelClass TraceInformationLength 會設定大於或等於 sizeof(ULONG) 的值。

TraceInformation 緩衝區的大小必須大於或等於 sizeof(ULONG) 的值。

HistoricalContext PWNODE_HEADER 成員Buffer 指定事件追蹤句柄。

*(PULONG)TraceInformation 設定為指定事件追蹤句柄的層級。
GlobalLoggerHandleClass TraceInformationLength 等於 sizeof(TRACEHANDLE) 的值。

TraceInformation 緩衝區的大小必須大於或等於 sizeof(TRACEHANDLE) 的值。

*(PTRACEHANDLE)TraceInformation 會設定為全域記錄器的事件追蹤句柄。
EventLoggerHandleClass 僅供內部使用。 僅供內部使用。
AllLoggerHandlesClass TraceInformationLength 會設定為 m TRACEHANDLE 值陣列的大小、位元組。

TraceInformation 緩衝區的大小必須大於或等於 的值(m*sizeof(TRACEHANDLE))。

TraceInformation 緩衝區包含 n 句柄 陣列,其中 n 是最少 m、呼叫端提供的事件追蹤句柄數目,以及有效的事件追蹤句柄數目。 如果 TraceInformation 緩衝區太小而無法保存所有追蹤句柄,則例程會傳回STATUS_MORE_ENTRIES狀態。
TraceHandleByNameClass TraceInformationLength 會設定為 sizeof(TRACEHANDLE) 的值。

TraceInformation 緩衝區的大小必須大於或等於 sizeof(TRACEHANDLE) 的值。

(PUNICODE_STRING)Buffer 指定 Unicode 格式的易記追蹤名稱。

*(PTRACEHANDLE)TraceInformation 會設定為與指定易記名稱相關聯的事件追蹤句柄。
 

如果呼叫端提供非NULLRequiredLength 指標,WmiQueryTraceInformation 也會傳回指定事件追蹤資訊所需的長度。

WmiQueryTraceInformation 在呼叫端的 IRQL 上執行。

要求

要求 價值
最低支援的用戶端 適用於 Windows XP 和更新版本的 Windows。
目標平臺 普遍
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 請參閱一節。

另請參閱

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiTraceMessage

WmiTraceMessageVa