TdhGetEventInformation 函式 (tdh.h)

擷取事件的相關元數據。

語法

TDHSTATUS TdhGetEventInformation(
  [in]      PEVENT_RECORD     Event,
  [in]      ULONG             TdhContextCount,
  [in]      PTDH_CONTEXT      TdhContext,
  [out]     PTRACE_EVENT_INFO Buffer,
  [in, out] PULONG            BufferSize
);

參數

[in] Event

傳遞至 EventRecordCallback 回呼的事件 記錄。 如需詳細資訊,請參閱 EVENT_RECORD 結構。

[in] TdhContextCount

pTdhContext 中的元素數目。

[in] TdhContext

僅限 WPP 或傳統 ETW 事件的內容值陣列;否則為 NULL。 如需詳細資訊,請參閱 TDH_CONTEXT 結構。 陣列不得包含重複的內容類型。

[out] Buffer

使用者配置緩衝區以接收事件資訊。 如需詳細資訊,請參閱 TRACE_EVENT_INFO 結構。

[in, out] BufferSize

pBuffer 緩衝區的大小,以位元組為單位。 如果函式成功,此參數會接收所使用的緩衝區大小。 如果緩衝區太小,函式會傳回ERROR_INSUFFICIENT_BUFFER,並將此參數設定為所需的緩衝區大小。 如果輸入上的緩衝區大小為零,則緩衝區中不會傳回任何數據,而且此參數會收到所需的緩衝區大小。

傳回值

如果成功,則傳回ERROR_SUCCESS。 否則,此函式除了傳回其他傳回碼之外,還會傳回下列其中一個傳回碼。

傳回碼 Description
ERROR_INSUFFICIENT_BUFFER
pBuffer 緩衝區的大小太小。 使用 pBufferSize 中設定的必要緩衝區大小來配置新的緩衝區。
ERROR_NOT_FOUND
找不到事件的架構。
ERROR_INVALID_PARAMETER
一或多個參數無效。
ERROR_FILE_NOT_FOUND
指令清單中的 resourceFileName 屬性包含提供者二進位檔的位置。 當您註冊指令清單時,位置會寫入登錄。 TDH 無法根據已註冊的位置找到二進位檔。
ERROR_WMI_SERVER_UNAVAILABLE
無法使用 WMI 服務。

備註

如果事件是 WPP 或舊版 ETW 事件,您可以指定用來協助剖析事件資訊的內容資訊。 如果EVENT_HEADER_FLAG_TRACE_MESSAGE旗標是在 EVENT_HEADER 的 Flags 成員中設定,則此事件為 WPP 事件, ( 請參閱 EVENT_RECORD) EventHeader 成員。 如果已設定EVENT_HEADER_FLAG_CLASSIC_HEADER旗標,則此事件是舊版 ETW 事件。

範例

如需示範如何擷取事件相關元數據的範例,請參閱 使用 TdhFormatProperty 取用事件數據

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 tdh.h
程式庫 Tdh.lib
Dll Tdh.dll

另請參閱

TdhGetEventMapInformation

TdhGetProperty