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 |
---|---|
|
作業已成功完成。 |
|
LoggerHandle 不是有效的軟體追蹤句柄。 |
|
緩衝區內存不足,無法記錄訊息。 請參閱<備註>一節。 |
|
發生內部錯誤。 |
備註
呼叫端可以使用 WmiTraceMessage 或 WmiTraceMessageVa ,將訊息新增至 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 個字節。)
- 配置給軟體追蹤會話的所有訊息緩衝區都已滿。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows XP 和更新版本的 Windows 中使用。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | 請參閱一節。 |