共用方式為


EvtExportLog 函式 (winevt.h)

從指定的通道或記錄檔複製事件,並將其寫入目標記錄檔。

語法

BOOL EvtExportLog(
  [in, optional] EVT_HANDLE Session,
  [in]           LPCWSTR    Path,
  [in]           LPCWSTR    Query,
  [in]           LPCWSTR    TargetFilePath,
  [in]           DWORD      Flags
);

參數

[in, optional] Session

EvtOpenSession 函式傳回的遠端會話句柄。 設定為 本機 通道的NULL。

[in] Path

通道的名稱或記錄檔的完整路徑,其中包含您要匯出的事件。 如果 Query 參數包含 XPath 查詢,您必須指定通道或記錄檔。 如果 Flags 參數包含 EvtExportLogFilePath,您必須指定記錄檔。 如果 Query 參數包含結構化 XML 查詢,您在此處指定的通道或路徑必須符合查詢中的通道或路徑。 如果 Flags 參數包含 EvtExportLogChannelPath,如果查詢是指定通道的結構化 XML 查詢,這個參數可以是 NULL

[in] Query

指定您要匯出之事件類型的查詢。 您可以指定 XPath 1.0 查詢或結構化 XML 查詢。 如果您的 XPath 包含超過 20 個表示式,請使用結構化 XML 查詢。 若要匯出所有事件,請將此參數設定為 NULL 或 “*”。

[in] TargetFilePath

將接收事件的目標記錄檔完整路徑。 目標記錄檔不得存在。

[in] Flags

指出事件來自通道或記錄檔的旗標。 如需可能的值,請參閱 EVT_EXPORTLOG_FLAGS 列舉。

傳回值

傳回碼/值 Description
TRUE
此函數已成功。
FALSE
函式失敗。 使用 GetLastError 函式來取得錯誤碼。

備註

您可以使用結構化 XML 查詢從多個通道匯出事件, (請參閱 取用事件) ;不過,您無法使用此函式來合併多個記錄檔中的事件。 如果查詢結果是空的,服務會建立包含標頭信息的檔案,但沒有事件。

若要從通道移除事件,並將其寫入目標記錄檔,請呼叫 EvtClearLog 函式。 若要在記錄檔中包含本地化字串與事件,請呼叫 EvtArchiveExportedLog 函式。

您必須指定目標記錄檔的絕對路徑;您無法使用相對路徑和環境變數來指定目標記錄檔。 路徑可以是 UNC) 路徑 (通用命名慣例。 您應該使用 .evtx 作為擴展名。

此函式只會影響指定的通道或記錄檔—如果通道使用 autoBackup 或 fileMax,此函式不會影響這些備份檔。

範例

如需示範如何使用此函式的範例,請參閱 將事件儲存至記錄檔

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 winevt.h
程式庫 Wevtapi.lib
Dll Wevtapi.dll

另請參閱

EvtArchiveExportedLog

EvtClearLog