共用方式為


WmiTraceMessage 函式 (wdm.h)

WmiTraceMessage 例程會將訊息新增至 WPP 軟體追蹤會話的輸出記錄。

語法

NTSTATUS WmiTraceMessage(
  [in] TRACELOGGER_HANDLE LoggerHandle,
  [in] ULONG              MessageFlags,
  [in] LPCGUID            MessageGuid,
  [in] USHORT             MessageNumber,
       ...                
);

參數

[in] LoggerHandle

指定軟體追蹤會話的追蹤句柄。

[in] MessageFlags

指定一或多個訊息旗標的位 OR。 如需詳細資訊,請參閱<備註>一節。

[in] MessageGuid

指定 GUID,識別軟體追蹤訊息的類別。

[in] MessageNumber

識別訊息子類型。 子類型的意義專屬於軟體追蹤類別和提供者。

[in] ...

提供指定一組訊息元件之訊息參數的必要清單。 參數會組織成一連串的參數組,其中每個配對都會指定完整訊息的一部分。 每個參數位都包含資料的 PVOID 指標,後面緊接著指定數據的長度的 ULONG 值。 參數清單必須以 NULL PVOID 指標結尾,後面接著 ULONG (0) 。

傳回值

WmiTraceMessage 會傳回下列其中一個值:

傳回碼 Description
STATUS_SUCCESS
作業已成功完成。
STATUS_INVALID_HANDLE
LoggerHandle 不是有效的軟體追蹤句柄。
STATUS_NO_MEMORY
緩衝區內存不足,無法記錄訊息。 請參閱<備註>一節。
其他 NTSTATUS 值
發生內部錯誤。

備註

呼叫端可以使用 WmiTraceMessageWmiTraceMessageVa ,將訊息新增至 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,將不會記錄訊息:

  • 訊息數據和訊息標頭的大小總計大於為軟體追蹤會話配置之個別訊息緩衝區的大小。 (訊息標頭大小上限為 48 個字節。)
  • 配置給軟體追蹤會話的所有訊息緩衝區都已滿。
WmiTraceMessage 會在呼叫端的 IRQL 上執行。

規格需求

需求
最低支援的用戶端 可在 Windows XP 和更新版本的 Windows 中使用。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL 請參閱一節。

另請參閱

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiQueryTraceInformation

WmiTraceMessageVa