共用方式為


EvtRender 函式 (winevt.h)

根據您指定的轉譯內容,轉譯 XML 片段。

語法

BOOL EvtRender(
  [in]  EVT_HANDLE Context,
  [in]  EVT_HANDLE Fragment,
  [in]  DWORD      Flags,
  [in]  DWORD      BufferSize,
  [in]  PVOID      Buffer,
  [out] PDWORD     BufferUsed,
  [out] PDWORD     PropertyCount
);

參數

[in] Context

EvtCreateRenderContext 函式傳回之轉譯內容的句柄。 如果 Flags 參數設定為 EvtRenderEventXml 或 EvtRenderBookmark,則此參數必須設定為 NULL

[in] Fragment

事件或書籤的句柄。 如果 Flags 參數設定為 EvtRenderBookmark,請將此參數設定為書籤句柄;否則,請將 設定為事件句柄。

[in] Flags

識別要呈現之內容的旗標。 例如,事件的完整事件或特定屬性。 如需可能的值,請參閱 EVT_RENDER_FLAGS 列舉。

[in] BufferSize

緩衝區的大小,以位元組為單位。

[in] Buffer

將接收轉譯輸出的呼叫端配置緩衝區。 如果 Flags 參數設定為 EvtRenderEventXml 或 EvtRenderBookmark,則內容為 Null 終止的 Unicode 字串。 否則,如果 Flags 設定為 EvtRenderEventValues,則緩衝區會包含 EVT_VARIANT 結構的陣列;一個用於轉譯內容所指定的每個屬性。 PropertyCount 參數包含數位中的元素數目。

您可以將此參數設定為 NULL ,以判斷所需的緩衝區大小。

[out] BufferUsed

如果函式因ERROR_INSUFFICIENT_BUFFER而失敗,則呼叫端配置緩衝區的大小,或是所需的緩衝區大小。

[out] PropertyCount

如果 Flags 參數設定為 EvtRenderEventValues,則 Buffer 參數中的屬性數目;否則為零。

傳回值

傳回碼/值 Description
TRUE
此函數已成功。
FALSE
函式失敗。 呼叫 GetLastError 函式以取得錯誤碼。

備註

當您呼叫 EvtCreateRenderContext 函式時所指定的 XPath 運算式陣列與緩衝區中傳回的值數位之間有一對一關聯性。

EvtRender 函式中使用來自此函式的EVT_HANDLE時,該函式所傳回的值清單是由 EVT_VARIANT 結構的數位所組成,每個值都對應到原始 ValuePaths 參數數位中完全相同的其中一個 XPATH 表達式,依外觀順序。 每個這類 EVT_VARIANT 結構都包含其所對應 XPATH 運算式所識別之要轉譯之事件的值。 如果找不到任何值, EVT_VARIANT 結構會包含 NULL。 如果存在多個值, EVT_VARIANT 結構將包含遇到的第一個值。

比較 XPath 查詢中的浮點數時,請小心。 浮點數的任何字串表示法都是近似值,因此 XML 中顯示的值可能不符合與事件一起儲存的數位。 浮點數應該與小於或大於常數進行比較。

範例

如需示範如何使用此函式的範例,請參閱轉譯 事件書籤事件

規格需求

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

另請參閱

EvtCreateRenderContext