共用方式為


EtwWriteString 函式 (wdm.h)

EventWriteString 函式是追蹤函式,您可以在不需要複雜的數據時使用。 此函式類似於偵錯列印語句。

語法

NTSTATUS EtwWriteString(
  [in]           REGHANDLE RegHandle,
  [in]           UCHAR     Level,
  [in]           ULONGLONG Keyword,
  [in, optional] LPCGUID   ActivityId,
  [in]           PCWSTR    String
);

參數

[in] RegHandle

事件提供者註冊句柄的指標,如果事件提供者註冊成功, 則 EtwRegister 函式會傳回此句柄。

[in] Level

事件作用中的層級。

[in] Keyword

事件的關鍵詞。 關鍵詞是位掩碼,可對事件或錯誤類別進行一般語句。 因為 關鍵詞是位掩碼,所以您可以將多個關鍵詞套用至單一事件。 您可以定義關鍵詞和位位置,也可以使用 Windows 標準關鍵詞,也可以使用自己的關鍵詞和 Windows 關鍵詞的組合。

[in, optional] ActivityId

標識符,表示與事件相關聯的活動。 ActivityId 提供將相關事件分組的方式,並用於端對端追蹤。 此標識碼是選擇性的,可以是 NULL

[in] String

以 Null 結尾的字串 (WCHAR) 。

傳回值

如果成功發佈事件,函式會傳回STATUS_SUCCESS。

備註

由於 EventWriteString 函式所產生的字串無法當地語系化,因此不建議在生產程式代碼中使用此函式。 此函式不應該用來記錄高度可見的事件。

您可以在任何 IRQL 呼叫 EtwWriteString 。 不過,當 IRQL 大於 APC_LEVEL時,傳遞至 EtwWriteEtwWriteEx、EtwWriteStringEtwWriteTransfer 函式的任何數據都必須不可分頁。 也就是說,在 IRQL 上執行的任何核心模式例程大於APC_LEVEL都無法存取可分頁的記憶體。 傳遞至 EtwWrite、EtwWriteExEtwWriteStringEtwWriteTransfer 函式的數據必須位於系統空間記憶體中,不論 IRQL 是什麼。

規格需求

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

另請參閱

EtwWrite

EtwWriteEx

EtwWriteTransfer