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
[in, optional] Buffer
呼叫端提供的查詢特定輸入資訊的指標。 如果不需要呼叫端提供的資訊,呼叫端應將 緩衝區 設定為 NULL。
傳回值
傳回碼 | 描述 |
---|---|
|
成功 |
|
TraceInformation 緩衝區的大小不等於指定事件追蹤資訊所需的大小。 |
|
HistoricalContext 成員所指定的追蹤句柄 PWNODE_HEADERBuffer 無效。 |
|
指定的事件追蹤資訊類型無效。 |
|
提供查詢來傳回指定其名稱之追蹤句柄的事件追蹤名稱無效。 |
|
呼叫端未提供指定事件追蹤資訊所需的資訊。 |
|
TraceInformation 緩衝區不夠大,無法保存所有有效事件追蹤句柄的陣列。 |
|
找不到全域記錄器。 |
言論
下表提供 TraceInformationClass所指定的每種事件追蹤資訊類型:
- 輸入需求
- WmiQueryTraceInformation 在 TraceInformation 緩衝區中傳回的資訊
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))。 |
|
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 | 請參閱一節。 |