Condividi tramite


Funzione EvtExportLog (winevt.h)

Copia gli eventi dal canale o dal file di log specificato e li scrive nel file di log di destinazione.

Sintassi

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

Parametri

[in, optional] Session

Handle di sessione remota restituito dalla funzione EvtOpenSession . Impostare su NULL per i canali locali.

[in] Path

Nome del canale o percorso completo di un file di log contenente gli eventi da esportare. Se il parametro Query contiene una query XPath, è necessario specificare il canale o il file di log. Se il parametro Flags contiene EvtExportLogFilePath, è necessario specificare il file di log. Se il parametro Query contiene una query XML strutturata, il canale o il percorso specificato qui deve corrispondere al canale o al percorso nella query. Se il parametro Flags contiene EvtExportLogChannelPath, questo parametro può essere NULL se la query è una query XML strutturata che specifica il canale.

[in] Query

Query che specifica i tipi di eventi da esportare. È possibile specificare una query XPath 1.0 o una query XML strutturata. Se XPath contiene più di 20 espressioni, usare una query XML strutturata. Per esportare tutti gli eventi, impostare questo parametro su NULL o "*".

[in] TargetFilePath

Percorso completo del file di log di destinazione che riceverà gli eventi. Il file di log di destinazione non deve esistere.

[in] Flags

Flag che indicano se gli eventi provengono da un canale o da un file di log. Per i valori possibili, vedere l'enumerazione EVT_EXPORTLOG_FLAGS .

Valore restituito

Codice/valore restituito Descrizione
TRUE
Funzione completata.
FALSE
La funzione non è riuscita. Usare la funzione GetLastError per ottenere il codice di errore.

Commenti

È possibile esportare eventi da più canali usando una query XML strutturata (vedere Utilizzo di eventi); Tuttavia, non è possibile usare questa funzione per unire eventi da più file di log. Se il risultato della query è vuoto, il servizio crea un file contenente informazioni di intestazione ma senza eventi.

Per rimuovere gli eventi da un canale e scriverli in un file di log di destinazione, chiamare la funzione EvtClearLog . Per includere stringhe localizzate con gli eventi nel file di log, chiamare la funzione EvtArchiveExportedLog .

È necessario specificare il percorso assoluto del file di log di destinazione; Non è possibile usare percorsi relativi e variabili di ambiente per specificare il file di log di destinazione. Il percorso può essere un percorso UNC (Universal Naming Convention). È consigliabile usare .evtx come estensione del nome file.

Questa funzione influisce solo sul canale o sul file di log specificato. Se il canale usa autoBackup o fileMax, questa funzione non influirà sui file di backup.

Esempio

Per un esempio che illustra come usare questa funzione, vedere Salvataggio di eventi in un file di log.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winevt.h
Libreria Wevtapi.lib
DLL Wevtapi.dll

Vedi anche

EvtArchiveExportedLog

EvtClearLog