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 |
---|---|
|
Funzione completata. |
|
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 |