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
イベントを受信する順序と、チャネルまたはログ ファイルに対してクエリを実行するかどうかを指定する 1 つ以上のフラグ。 使用可能な値については、 EVT_QUERY_FLAGS 列挙を参照してください。
戻り値
成功した場合のクエリ結果へのハンドル。それ以外の場合は NULL。 関数が NULL を返す場合は、 GetLastError 関数を呼び出してエラー コードを取得します。
注釈
クエリ結果からイベントを取得するには、 EvtNext 関数を呼び出します。 結果の特定のイベントで始まるイベントを取得するには、 EvtSeek 関数を呼び出します。
完了したら、クエリ結果ハンドルを使用して EvtClose 関数を呼び出す必要があります。
この関数が返すクエリ ハンドルは、ハンドルを作成したのと同じスレッドでのみ使用する必要があります。
例
この関数の使用方法を示す例については、「 イベントのクエリ」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winevt.h |
Library | Wevtapi.lib |
[DLL] | Wevtapi.dll |