Função EvtExportLog (winevt.h)

Copia eventos do canal ou arquivo de log especificado e os grava no arquivo de log de destino.

Sintaxe

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

Parâmetros

[in, optional] Session

Um identificador de sessão remota que a função EvtOpenSession retorna. Defina como NULL para canais locais.

[in] Path

O nome do canal ou o caminho completo para um arquivo de log que contém os eventos que você deseja exportar. Se o parâmetro Query contiver uma consulta XPath, você deverá especificar o canal ou o arquivo de log. Se o parâmetro Flags contiver EvtExportLogFilePath, você deverá especificar o arquivo de log. Se o parâmetro Query contiver uma consulta XML estruturada, o canal ou caminho especificado aqui deverá corresponder ao canal ou caminho na consulta. Se o parâmetro Flags contiver EvtExportLogChannelPath, esse parâmetro poderá ser NULL se a consulta for uma consulta XML estruturada que especifica o canal.

[in] Query

Uma consulta que especifica os tipos de eventos que você deseja exportar. Você pode especificar uma consulta XPath 1.0 ou uma consulta XML estruturada. Se o XPath contiver mais de 20 expressões, use uma consulta XML estruturada. Para exportar todos os eventos, defina esse parâmetro como NULL ou "*".

[in] TargetFilePath

O caminho completo para o arquivo de log de destino que receberá os eventos. O arquivo de log de destino não deve existir.

[in] Flags

Sinalizadores que indicam se os eventos vêm de um canal ou arquivo de log. Para obter valores possíveis, consulte a enumeração EVT_EXPORTLOG_FLAGS .

Retornar valor

Valor/código retornado Descrição
TRUE
A função foi bem-sucedida.
FALSE
Falha na função. Use a função GetLastError para obter o código de erro.

Comentários

Você pode exportar eventos de vários canais usando uma consulta XML estruturada (consulte Consumindo eventos); no entanto, você não pode usar essa função para mesclar eventos de vários arquivos de log. Se o resultado da consulta estiver vazio, o serviço criará um arquivo que contém informações de cabeçalho, mas nenhum evento.

Para remover eventos de um canal e gravá-los em um arquivo de log de destino, chame a função EvtClearLog . Para incluir cadeias de caracteres localizadas com os eventos no arquivo de log, chame a função EvtArchiveExportedLog .

Você deve especificar o caminho absoluto para o arquivo de log de destino; não é possível usar caminhos relativos e variáveis de ambiente para especificar o arquivo de log de destino. O caminho pode ser um caminho UNC (Convenção Universal de Nomenclatura). Você deve usar .evtx como a extensão de nome de arquivo.

Essa função afeta apenas o canal ou o arquivo de log especificados. Se o canal usar autoBackup ou fileMax, essa função não afetará esses arquivos de backup.

Exemplos

Para obter um exemplo que mostra como usar essa função, consulte Salvando eventos em um arquivo de log.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winevt.h
Biblioteca Wevtapi.lib
DLL Wevtapi.dll

Confira também

EvtArchiveExportedLog

EvtClearLog