Windows 事件
事件通常用於針對應用程式和驅動程式軟體進行疑難排解。
- 在 Windows Vista 之前,您可以使用 Windows 事件追蹤 (ETW) 或 事件記錄 來記錄事件。
- Windows Vista 引進了新的事件模型,整合 Windows 事件追蹤 (ETW) 和 Windows 事件記錄 API。
- Windows 10介紹以 ETW 為基礎的TraceLogging,並提供簡化的方式來檢測原生、.NET 和 WinRT 開發人員的程式碼。
新的 TraceLogging 模型可讓您包含結構化資料與事件、相互關聯事件,而且不需要個別的檢測資訊清單 XML 檔案。
Windows Vista 模型會使用 XML 資訊清單來定義您想要發佈的事件。 事件可以發佈至通道或 ETW 會話。 您可以將事件發佈至下列通道類型:管理員、操作、分析和偵錯。 如果您只使用 ETW 來啟用發行者,則不需要在資訊清單中指定通道。 如需撰寫資訊清單的完整詳細資料,請參閱 撰寫檢測資訊清單,如需通道的相關資訊,請參閱 定義通道。
若要註冊事件發行者及發佈事件,請使用 ETW API。 如需詳細資訊,請參閱 提供事件 和 開發提供者。 如果已啟用事件發行者,事件發行者會自動將事件寫入資訊清單中指定的通道。
如果您想要控制事件發行者以更精細的細微性層級發行的事件,請使用 ETW API。 例如,如果資訊清單同時定義寫入和讀取事件,您就只能啟用寫入事件。 事件也可以指定層級值,例如警告或錯誤,因此您可以限制寫入至指定錯誤層級的事件。 如需詳細資訊,請參閱 控制事件追蹤會話。 事件會寫入會話的記錄檔。
取用事件牽涉到從事件通道擷取事件、 (.evtx 或 .evt 檔案) 、追蹤檔案 (.etl 檔案) 或即時 ETW 會話。 若要從 ETW 追蹤檔案或即時 ETW 會話取用事件,請使用追蹤資料協助程式 (ETW 中的 TDH) 函式來取用事件。 您也可以使用 TDH 來讀取事件中繼資料。 如需詳細資訊,請參閱 取用事件。 若要從事件通道或事件記錄檔取用事件,請使用 Windows 事件記錄函式來查詢或訂閱事件。 如需詳細資訊,請參閱 查詢事件 或 訂閱事件。
在 Windows Vista 之前,您必須使用 Windows 事件追蹤 或 事件記錄 來發佈及取用事件。