wmiTraceMessage 函式 (wdm.h)

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

語法

NTSTATUS WmiTraceMessage(
  [in] TRACEHANDLE 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 會傳回下列其中一個值:

傳回碼 描述
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) 。
 

如果下列其中一項成立,將不會記錄訊息:

  • 訊息資料和訊息標頭的總大小,以位元組為單位,大於為軟體追蹤會話配置之個別訊息緩衝區的大小。 (訊息標頭大小上限為 48 個位元組。)
  • 配置給軟體追蹤會話的所有訊息緩衝區都已滿。
WmiTraceMessage 會在呼叫端的 IRQL 上執行。

必要條件

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

另請參閱

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiQueryTraceInformation

WmiTraceMessageVa