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 |