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 参数中的属性数;否则为零。
返回值
返回代码/值 | 说明 |
---|---|
|
函数成功。 |
|
函数失败。 调用 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 |
Library | Wevtapi.lib |
DLL | Wevtapi.dll |