evtQuery 函数 (winevt.h)

运行查询以从与指定查询条件匹配的通道或日志文件中检索事件。

语法

EVT_HANDLE EvtQuery(
  [in] EVT_HANDLE Session,
  [in] LPCWSTR    Path,
  [in] LPCWSTR    Query,
  [in] DWORD      Flags
);

参数

[in] Session

EvtOpenSession 函数返回的远程会话句柄。 设置为 NULL 以查询本地计算机上的事件。

[in] Path

通道的名称或日志文件的完整路径,其中包含要查询的事件。 可以指定 .evt、.evtx 或.etl 日志文件。 如果 Query 参数包含 XPath 查询,则路径是必需的;如果 Query 参数包含结构化 XML 查询并且查询指定路径,则忽略路径。

[in] Query

一个查询,指定要检索的事件类型。 可以指定 XPath 1.0 查询或结构化 XML 查询。 如果 XPath 包含的表达式超过 20 个,请使用结构化 XML 查询。 若要接收所有事件,请将此参数设置为 NULL 或“*”。

[in] Flags

一个或多个标志,指定要接收事件的顺序,以及是针对通道还是日志文件进行查询。 有关可能的值,请参阅 EVT_QUERY_FLAGS 枚举。

返回值

查询结果的句柄(如果成功);否则为 NULL。 如果函数返回 NULL,请调用 GetLastError 函数以获取错误代码。

注解

若要从查询结果获取事件,请调用 EvtNext 函数。 若要检索结果中以特定事件开始的事件,请调用 EvtSeek 函数。

完成后,必须使用查询结果句柄调用 EvtClose 函数。

只能使用此函数在创建句柄的同一线程上返回的查询句柄。

示例

有关演示如何使用此函数的示例,请参阅 查询事件

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 winevt.h
Library Wevtapi.lib
DLL Wevtapi.dll

另请参阅

EvtNext

EvtSeek

EvtSubscribe