Поделиться через


Функция 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, этот параметр может иметь значение NULL , если запрос является структурированным XML-запросом, указывающим канал.

[in] Query

Запрос, указывающий типы событий, которые требуется экспортировать. Можно указать запрос XPath 1.0 или структурированный XML-запрос. Если XPath содержит более 20 выражений, используйте структурированный XML-запрос. Чтобы экспортировать все события, задайте для этого параметра значение NULL или "*".

[in] TargetFilePath

Полный путь к целевому файлу журнала, который будет получать события. Целевой файл журнала не должен существовать.

[in] Flags

Флаги, указывающие, поступают ли события из канала или файла журнала. Возможные значения см. в перечислении EVT_EXPORTLOG_FLAGS .

Возвращаемое значение

Возвращаемый код или значение Описание
TRUE
Функция выполнена успешно.
FALSE
Сбой функции. Используйте функцию GetLastError , чтобы получить код ошибки.

Комментарии

Вы можете экспортировать события из нескольких каналов с помощью структурированного XML-запроса (см. раздел Использование событий); Однако эту функцию нельзя использовать для слияния событий из нескольких файлов журнала. Если результат запроса пуст, служба создает файл, содержащий сведения о заголовке, но не содержит событий.

Чтобы удалить события из канала и записать их в целевой файл журнала, вызовите функцию EvtClearLog . Чтобы включить локализованные строки с событиями в файл журнала, вызовите функцию EvtArchiveExportedLog .

Необходимо указать абсолютный путь к целевому файлу журнала; Для указания целевого файла журнала нельзя использовать относительные пути и переменные среды. Путь может быть UNC-путем. В качестве расширения имени файла следует использовать .evtx.

Эта функция влияет только на указанный канал или файл журнала. Если канал использует autoBackup или fileMax, эта функция не повлияет на эти файлы резервных копий.

Примеры

Пример использования этой функции см. в разделе Сохранение событий в файл журнала.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header winevt.h
Библиотека Wevtapi.lib
DLL Wevtapi.dll

См. также раздел

EvtArchiveExportedLog

EvtClearLog