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 |
程式庫 | Wevtapi.lib |
Dll | Wevtapi.dll |